cookies verwijderen
webstab - 02/04/2005 18:57 (laatste wijziging 02/04/2005 19:44)
PHP ver gevorderde
http://img165.exs.cx/img165/6492/uitloggen8yj.jpg
Dit krijg ik wanneer ik mij wil uitloggen op mijn site.
<?php
$query2 = "UPDATE leden SET online='0' WHERE id='".$_SESSION['gId']."'";
mysql_query($query2) or die (mysql_error());
Setcookie("usernaam", "", Time() + 60 * 60 * 24 * 2190);
Setcookie("userwacht", "", Time() + 60 * 60 * 24 * 2190);
$_SESSION = array();
session_destroy();
$_SESSION['ingelogd'] = 0;
header("Location: ?");
?>
<?php
$query2 = "UPDATE leden SET online='0' WHERE id='" . $_SESSION [ 'gId' ] . "'" ;
$_SESSION [ 'ingelogd' ] = 0 ;
?>
Dit is de hele pagina. Maar niet iedereen krijg die error. Waaraan kan dit liggen? (aan mijn instellingen of aan iets anders).
(Hoe doen jullie dat hier? Want hier heb ik er geen last van?)
24 antwoorden
Gesponsorde links
CelestialCelebi - 02/04/2005 19:59
PHP gevorderde
Misschien omdat je een cookie voor 2190 dagen probeert te setten? Dat is bijna 10 jaar.
En dat voor iemand die uitlogt?
Verder moet je header('Location: ?'); veranderen in iets zinnigs, bijvoorbeeld index.php ofzo..
nemesiskoen - 02/04/2005 20:07
PHP expert
Citaat:
Verder moet je header('Location: ?'); veranderen in iets zinnigs, bijvoorbeeld index.php ofzo..
moet niet, dit gaat automatisch naar $_SERVER['PHP_SELF'] en het bespaart de moeite dat te schrijven... je moet - gebruiken ipv +
SetCookie( "usernaam", "", Time() - ( 60 * 60 * 24 * 2190 ) );
webstab - 02/04/2005 20:34 (laatste wijziging 02/04/2005 20:36)
PHP ver gevorderde
Aan die 2190 dagen ligt het niet,want dat heb ik al eens gewijzigd.
En het minteken verandert er ook niets aan.
CelestialCelebi - 02/04/2005 21:53
PHP gevorderde
En dat vraagteken dan? ...
webstab - 02/04/2005 21:58
PHP ver gevorderde
Dat doet het ook niet.
Of ik daar nu index.php of een ? typ,dat doet hetzelfde
webstab - 02/04/2005 22:04
PHP ver gevorderde
Ik start de sessie daarboven.
index.php?pagina=leden&actie=loguit
En helemaal vanboven op de index-pagina wordt de sessie gestart. Maar bij veel mensen werkt dit wel,dus wss ligt het ergens aan mijn instellingen op de pc
webstab - 02/04/2005 22:11
PHP ver gevorderde
Maar dat gaat natuurlijk niet werken,want je moet daarvoor ingelogd zijn. Maar op welke manier worden hier de cookies verwijderd?
CelestialCelebi - 02/04/2005 22:14 (laatste wijziging 02/04/2005 22:15)
PHP gevorderde
Cookies verwijder je niet. Je zet de verlooptijd naar een tijd in het verleden, dat is iets anders dan verwijderen..
En vergeet ook de andere 3 parameters van setcookie() niet.
CelestialCelebi - 02/04/2005 22:22
PHP gevorderde
In PHP zijn alle functies lowercase, dus ook setcookie(), maar PHP voert setcookie() ook uit als jij SetCookie() of zelfs sEtCoOkIe() intypt..
webstab - 03/04/2005 08:45
PHP ver gevorderde
Ik heb zojuist is gekeken waar de fout precies zit.
Dus één voor een een regel verwijderen en dan opnieuw proberen.
En wanneer ik deze regel wegneem,krijg ik die error niet meer.
Met deze regel wil ik eigelijk de sessies leegmaken. Kan dat ook op een andere manier?
CelestialCelebi - 03/04/2005 09:30
PHP gevorderde
Ja, dat kan:
<?php
$a = $_SESSION;
$_SESSION = &$a;
$a = array();
?>
<?php
$a = $_SESSION ;
$_SESSION = & $a ;
?>
... Dat doet dus precies hetzelfde. Hoe jij die sessie leeghaalt is goed, maar kun je dan niet beter gewoon unset($_SESSION['id']); doen?
webstab - 03/04/2005 09:53 (laatste wijziging 03/04/2005 09:56)
PHP ver gevorderde
Dat gaat mss ook beter,maar dan zou ik dat voor ong 20 session-variables moeten doen.Maar met jouw manier lukt het ook niet,ik krijg juist dezelfde error.
Wanneer je session_destroy(); doet, worden dan automatisch alle session-variables leeg gemaakt?
webstab - 03/04/2005 10:02
PHP ver gevorderde
Ik krijg steeds dezelfde error met session_unset(); en wanneer ik dat wegdoe heb ik hem niet meer.
Maar is het waar dat session_destroy(); alle sessies unset?
webstab - 03/04/2005 10:12
PHP ver gevorderde
Nog altijd degene die in het eerste bericht staat.
BNoise - 03/04/2005 12:08
Nieuw lid
doe eens eerst setcookie en daarna pas de mysql query, als ik graaf in mn geheugen moeten cookies altijd voordat er een output geweest is. (ik kan ook miszitten..)
BNoise - 03/04/2005 12:38
Nieuw lid
Citaat:
(ik kan ook miszitten..)
dacht ik al:p
Gesponsorde links
Dit onderwerp is gesloten .