[.htaccess] Probleem met cookies?
Ik heb een probleem met de .htaccess en mijn ingestelde cookies dmv PHP. Betreft een rooster-script waarbij automatisch dmv. cookies het gewenste rooster opgehaald moet worden.
Ik werk met .htaccess vanwege de mooiere links (bijvoorbeeld http://www.roosterwebsite.ext/rooster/maandag/ in plaats van http://www.roosterwebsite.ext/rooster.php?dag=maandag).
Soms doen de cookies het niet, pas wanneer ik opnieuw naar de pagina ga om de cookie aan te maken is de cookie ineens 'weer' geactiveerd.
Iemand die het probleem herkent op basis van mijn omschrijving en weet waar het aan kan liggen? (Via de 'lelijke links' werken de cookies wel goed, dus ik vermoed dat dit ècht aan de .htaccess ligt).
Zomaar een gok: Bedoel je geen sessies, en mis je soms ergens een start_session()?
Protip: Kijk eens met een bepaalde extention hoe je cookie eruit ziet? En dan met name het path ervan, en de geldigheidsduur.
Gewijzigd op 06/03/2018 18:52:03 door - Ariën -
Nope, ik gebruik cookies in plaats van sessions. Dit staat bovenaan de header.php, welke op elke pagina is geïncluded:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
$lifetime=31536000;
session_set_cookie_params($lifetime);
ini_set("session.gc_maxlifetime", $lifetime);
session_start();
ob_start();
session_set_cookie_params($lifetime);
ini_set("session.gc_maxlifetime", $lifetime);
session_start();
ob_start();
En hoe de cookie wordt aangemaakt:
$rooster is weer afkomstig van $_POST['rooster'] welke eerder wordt ingevuld door de gebruiker
Gewijzigd op 06/03/2018 19:24:08 door - Ariën -
www.roosterwebsite.ext gebruikt?
Ergens moet er een conclusie te vinden zijn op de momenten dat het wel en niet werkt.
Zit het verschil niet erin of je roosterwebsite.ext of Ergens moet er een conclusie te vinden zijn op de momenten dat het wel en niet werkt.
Quote:
Soms doen de cookies het niet, pas wanneer ik opnieuw naar de pagina ga om de cookie aan te maken is de cookie ineens 'weer' geactiveerd.
Dit klopt en werkt zoals het hoort. Pas na het verversen van de pagina is de informatie in $_COOKIE bijgewerkt. Deze komt namelijk uit de HTTP headers die de client (webbrowser) meezendt met HTTP requests.
Stel dat je op pagina A een cookie instelt (serverkant). De HTTP-data die naar de client (browser) gaat bevat deze nieuwe cookie informatie.
Vervolgens navigeer je naar pagina B, hierbij stuurt je browser een GET request om pagina B op te vragen waarbij deze (en mogelijk andere) cookie-data weer mee terug verzonden wordt. Vervolgens is aan de serverkant op pagina B $_COOKIE beschikbaar (of liever gezegd bijgewerkt met het aangemaakte cookie van pagina A).
Waarschijnlijk vergeet je om (direct) de pagina te verversen nadat je een cookie hebt ingesteld.
Dit heeft hoogstwaarschijnlijk niets met .htaccess te maken maar simpelweg met de normale werking van cookies (verkeerde cookie-instellingen daargelaten uiteraard).
Gewijzigd op 06/03/2018 19:48:14 door Thomas van den Heuvel