• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Session - Ne kleine Unklarheit

Status
Für weitere Antworten geschlossen.

Raider

Neues Mitglied
Winke winke ...

Hab mal ne Frage zum Thema Sessions.

Wenn ich ne Session aufsetze, bspw. so:
Code:
<?php 
session_start();
$_SESSION['test'] = $test;
?>
wird ja sozusagen der User für seine Sitzung identifiziert, richtig? Wenn ich also "unset $_SESSION['test']" eingebe, verliert er seine Identifizierung.

Jetzt die Frage: Für wie lange reicht seine Sitzung wenn ich seine Session nicht durch unset aufgebe?
 
Also erstens:
PHP: unset - Manual

Also das macht man mit den Klammern().

Zweitens schreibt man nicht in die Klammern:
PHP:
unset($_SESSION['xy']);

// Sondern
unset("xySession");
Also einfach in die "" den Sessionnamen eingeben.



MfG; matibaski
 
noch ein kleiner Hinweis.

Mit unset() verliert der Benutzer nicht seine "identifizierung" - also die Session wird nicht beendet.

Zum beenden der Session benutzt man session_destroy()
 
es wird solange gespeichert wie die lebensdauer der session eingestellt wurde...
Meinst du damit also Browserabhängig?

Einem Besucher wird beim Aufruf Ihrer Website eine eindeutige ID, die sogenannte Session-ID, zugeordnet. Diese wird entweder benutzerseitig in einem Cookie abgelegt oder in der URL übermittelt.
Also ich nehme an, dass mein oben beschriebener Code die Cookie-Methode ist. Ich möchte Cookies aber vermeiden, da es halt sein könnte dass der User Cookies deaktiviert hat und meine Meinung nach ist das halt ein bisschen zu unsicher.

Die URL-Methode ist nehme ich an mit einem " . SID . " hinter dem URL.
Wie kommt es nun aber dass ich die Sitzung nach jedem Besuch verliere, wenn ich die Seite wechsle oder das Fenster schliesse? :???:
 
setzt die lebensdauer auf 5 minuten runter, dann wird die session gelöscht sobald 5 minuten um sind.

Ein direktes Löschen beim Verlassen wäre nur mit Ajax möglich. Das ist aber von JavaScript abhängig, was man ja auch auschschalten kann
 
Könnt ihr villeicht überprüfen ob mit meiner Session-Einstellung alles in ordnung ist?

ngmxeh.GIF


Also die session.cookie_lifetime ist ja auf 0 gesetzt. Das kann mir denk ich mal egal sein, da ich die Session ja nicht durch Cookies setzen möchte.

Dann gibt es noch session.gc_maxlifetime. Ist hiermit die Lebendauer gemeint? Dann wären die 1440 (24 min.) die Lebensdauer, richtig?
 
Also die session.cookie_lifetime ist ja auf 0 gesetzt. Das kann mir denk ich mal egal sein, da ich die Session ja nicht durch Cookies setzen möchte.

Die lifetime hat nichts damit zu tun, ob du cookies benutzt, oder nicht. Um Keine Cookies zu benutzen musst du `session.use_cookies` auf off stellen

Sorry, aber ich denke, da war schon wieder jemand zu Faul zum lesen. Hier erneut die Infos die du brauchst

PHP: Sessions - Manual
 
PHP:
unset($_SESSION['xy']);

// Sondern
unset("xySession");
MfG; matibaski
falsch, das kann die superglobals komplett zerschiessen, mal abgesehen davon, dass dieses unset einen T_CONSTANT_ENCAPSED_STRING fehler verursacht.

man setzt eine einzelne sessionsvariabele so auf ungültig:
PHP:
 $_SESSION['data'] = NULL; 
unset($_SESSION['data']);
will man den kompletten sessionsbereich löschen sollte man nicht
PHP:
unset($_SESSION);
verwenden, weil eine neu registrierung der superglobals damit u.u. verhindert wird. löschen aller sessions macht man mit:
PHP:
$_SESSION = array();
ach ja, die session variable lebt so lange, bis du den browser schliesst.
 
Zuletzt bearbeitet von einem Moderator:
Status
Für weitere Antworten geschlossen.
Zurück
Oben