Ik wil een onthoud functie maken, en daarvoor wilde ik dus cookies gebruiken.
Maar als ik de functie setcookie() wil gebruiken dan komen er helemaal geen cookies bij. Ik controleer de cookies met:
En om mijn cookies aan te maken doe ik dit:
<?php
setcookie ( "username", $user['username'], time()+31536000, "/", "", 0 );
setcookie ( "key", $key, time()+31536000, "/", "", 0 );
setcookie ( "ip", $_SERVER['REMOTE_ADDR'], time()+31536000, "/", "", 0 );
Die laatste twee parameters kun je wel weglaten denk ik.
Weet je zeker dat de cookies niet geset worden?
Je moet de pagina na het setten van de cookies verversen als je wilt controleren of deze geset zijn, je hebt er dus niet direct (meteen na het setten) de beschikking over.
Je moet de pagina na het setten van de cookies verversen als je wilt controleren of deze geset zijn, je hebt er dus niet direct (meteen na het setten) de beschikking over.
Ik heb precies jou voorbeeld gebruikt,maar ik heb het probleem al (maar nog niet de oplossing =\) Het probleem is de time()+3600 functie. Want als ik deze weghaal dan werkt het prima. Alleen word de cookie niet onhouden als ik de browser sluit. Iemand enig id hoe ik dit kan oplossen?
Ik heb net even het voorbeeldje getest op m'n localhost.
het werkt gewoon naar behoren. (Ook als ik de browser sluit en start). Ik denk eerder dat er bij jou een probleem is met php ofzo. Als je het op je localhost hebt getest en het niet werkt zou ik het op je webhost even testen.
Ah ik weet het al Als ik de datum functie uitvoer.
date( "d-m-y, H:i:s" )
dan krijg ik dit eruit:
19-01-04, 19:41:24
oftwel het jaar is niet helemaal lekker en zal de cookie nooit aangemaakt worden want die is alweer verlopen. Weet je mischien welke instelling het is om het jaar te veranderen of is die gekoppelt aan de tijd op je pc. (daar kijk ik nu wel even naar)
Y als hoofdletter voor de volledige notatie. http://be.php.net/date
Staat je server tijd wel juist? Check dat anders eens met time(); [en vergelijk met een andere server]