[.htaccess] Probleem met cookies?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP er

PHP er

06/03/2018 18:45:50
Quote Anchor link
Hoi allemaal,

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).
 
PHP hulp

PHP hulp

08/10/2024 18:23:37
 
- Ariën  -
Beheerder

- Ariën -

06/03/2018 18:50:54
Quote Anchor link
Ik kan me niet indenken dat .htaccess wat met cookies te maken heeft. Hoogstens het path die je in setcookie() definieert. Maar standaard gelden deze al over een heel domein.

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 -
 
PHP er

PHP er

06/03/2018 19:09:32
Quote Anchor link
** quotenip **
Nope, ik gebruik cookies in plaats van sessions. Dit staat bovenaan de header.php, welke op elke pagina is geïncluded:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
  $lifetime=31536000;
  session_set_cookie_params($lifetime);
ini_set("session.gc_maxlifetime", $lifetime);

session_start();
ob_start();


En hoe de cookie wordt aangemaakt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
setcookie ("rooster", $rooster, time() - 31536000, "/", "roosterwebsite.ext", 1);


$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 -
 
- Ariën  -
Beheerder

- Ariën -

06/03/2018 19:25:20
Quote Anchor link
Zit het verschil niet erin of je roosterwebsite.ext of www.roosterwebsite.ext gebruikt?

Ergens moet er een conclusie te vinden zijn op de momenten dat het wel en niet werkt.
 
Thomas van den Heuvel

Thomas van den Heuvel

06/03/2018 19:40:16
Quote Anchor link
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.