Welkom, Gast. Je bent niet ingelogd.

sessie beëindigen

sandr
aka Chuck Norris
Geplaatst op: 11 May 2008, 12:36
PimpCoins: 0
💸+
Bewerken Quote

ik heb nu dus een captcha (dat je letters van een plaatje moet overtypen) op mijn chat voor het reageren van gasten. De code wordt mbv een sessie ($_SESSION["codecheck"]) onthouden, als op toevoegen is gedrukt wordt de sesse gewist (unset($_SESSION["codecheck"]), maar als de bezoeker naar een andere pagina gaat, blijft deze sessie het hele bezoek doorlopen. Is er een manier om deze sessie automatisch te laten eindigen als de bezoeker naar een andere pagina gaat?

en maakt het eigenlijk wel iets uit dat die sessie door blijft lopen? wordt de site er trager van ofzo?

[Laatst bewerkt door sandr op zondag 11 mei 2008, om 12:45]
Saven
admin
Geplaatst op: 11 May 2008, 12:39
PimpCoins: 0
💸+
Bewerken Quote

hem niet op elke pagina aanmaken?
en sessions moet je deleten met session_destroy()

sandr
aka Chuck Norris
Geplaatst op: 11 May 2008, 12:41
PimpCoins: 0
💸+
Bewerken Quote

Saven schreef:

hem niet op elke pagina aanmaken?
en sessions moet je deleten met session_destroy()

maar ik heb naast de codecheck sessie nog meerdere sessie's lopen
dus elke pagina begint zoiezo al met session_start() en met session_destroy() beëindig ik ook alle andere sessies

[Laatst bewerkt door sandr op zondag 11 mei 2008, om 12:44]
Badeendje
Pompehdompehdom
moderator
Geplaatst op: 11 May 2008, 13:03
PimpCoins: 0
💸+
Bewerken Quote

Sessies worden (meestal)opgeslagen in een bestand in /tmp/, dat is een map in de root van de server. En die bestandsnaam is hetzelfde als de inhoud van de PHPSESSID die bij jezelf geset staat.
In dat bestand welke diezelfde naam heeft staan alle actieve sessies en inhoud ervan van die sessies. Dus dat er veel sessies nog 'actief' zijn ook al is dat niet nodig zal volgensmij niet veel verschil maken in de parsetime. Want de $_SESSION suberglobal haalt alleen de info op die die nodig heeft.

@Saven, een enkele sessie kan je weldegelijk deleten dmv unset();

Verder als je die $_SESSION['captcha'] wilt eindigen zo gauw die persoon op een andere pagina komt moet je gewoon checken if($_GET['page'] != 'blaat'){ unset($_SESSION['captcha']); } bijv.

sandr
aka Chuck Norris
Geplaatst op: 11 May 2008, 13:07
PimpCoins: 0
💸+
Bewerken Quote

Badeendje schreef:

Verder als je die $_SESSION['captcha'] wilt eindigen zo gauw die persoon op een andere pagina komt moet je gewoon checken if($_GET['page'] != 'blaat'){ unset($_SESSION['captcha']); } bijv.

Zou kunnen ja, maar dan heb je extra parsetime op elke pagina, of de nu wel sessie loopt of niet. dus dan lijkt het mij sneller om hem gewoon te laten lopen .

Badeendje
Pompehdompehdom
moderator
Geplaatst op: 11 May 2008, 13:10
PimpCoins: 0
💸+
Bewerken Quote

sandr schreef:

[...]
Zou kunnen ja, maar dan heb je extra parsetime op elke pagina, of de nu wel sessie loopt of niet. dus dan lijkt het mij sneller om hem gewoon te laten lopen .

uhu, maar waarom unset je die captcha sessie niet meteen nadat ze op 'registeren' hebben geklikt? dat is toch veel makkelijker?

sandr
aka Chuck Norris
Geplaatst op: 11 May 2008, 13:59
PimpCoins: 0
💸+
Bewerken Quote

Badeendje schreef:

[...]

uhu, maar waarom unset je die captcha sessie niet meteen nadat ze op 'registeren' hebben geklikt? dat is toch veel makkelijker?


dat doe ik ook, maar als ze wél naar die pagina gaan (sessie start) maar daarna naar een andere pagina gaan en dus níet op registreren drukken blijft hij doorlopen

📫

Nieuw privébericht

🔥

Registreren


Login