ik heb deze code:

setcookie("login", $s['Id'], time() + 0);
echo($_COOKIE['login']);
echo('succes');

op mijn scherm krijg ik succes te zien, maar niets in de cookie variabele.

ook dit werkt niet bij mij:
$_SESSION['message'] = "failed to log in";
zelfde als cookie als ik dat probeer te tonen in een echo toont hij niets.

waarschijnlijk ligt het aan mij. ik ben nog niet zo goed thuis in session en cookie variables in php. maar ik vind het wel belangrijk om het te snappen. dus kan iemand mij vertellen wat ik fout doe?
1. Cookie variabelen zijn pas beschikbaar op het volgende verzoek
2. Heb je session_start() wel aangeroepen?
ok session variables werken nu

maar cookies nog niet. ik heb zelfs een andere pagina aangemaakt om de cookie daar te tonen door echo maar daar ook niets.
time() + 0

Zorgt dat de cookie 0 seconden geldig blijft. Wijzig dat eens in

time() + 3600

Dan blijft ie als het goed is een uur (3600 seconden) geldig.
ik had gelezen dat time() + 0 de cookie geldig blijft tot de browser word gesloten.

ik zal jou voorstel eens proberen.

Toevoeging op 28/08/2016 17:03:56:

het werkt.

maar hoe kan ik dan de cookie laten weggaan zodra de browser sluit?
0 gebruiken ipv time() + 0. Dan maak je een session cookie.
Het onthouden of iemand is ingelogd middels een cookie (alleen) is overigens niet veilig. Iedereen kan namelijk (met enige moeite) cookies instellen.

Zonder 4e argument is setcookie ook alleen geldig in de huidige webdirectory.

Indien je je cookie instelt in www.jesite.com/a/ (of zelfs in de root) dan is dit cookie niet geldig in www.jesite.com/b/ of een andere directory.

Reageren