SESSION läuft vor Schließung des Browser ab

Begonnen von sidewind, 09 Oktober 2003, 16:47:26

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

sidewind

Hallo Ihr PHP Götter,

hab ein kleines Prob mit SESSIONs.

Habe ein Skript das über HTTP Referer geladen werden kann mit einer id .
Erst wird anhand der ID geprüft ob der Referer ok ist und dann wird die id in die Session geschrieben

Leider ist  nach ein paar Klicks auf der Seite die ID wieder weg.
Wie kann ich das so einstellen das die SESSION Werte erst gelöscht werden wenn das Browser fenster geschlossen wird?

Grüsse
Sidewind

Hier meine folgenden Versuche

 
function starteSession()

function starteSession()
{
    // Setze Die Cookie Domain auf die aktuelle Referer URL bzw aktuelle Webseite
if (strlen($_SERVER['HTTP_REFERER']>1)) {
   ......
} else {
   $domain = $_SERVER['HTTP_HOST'];
}
ini_set("session.cookie_domain",".$domain");
ini_set("session.cookie_lifetime",0);
ini_set("session.name","cmSID");
ini_set("session.cache_limiter","private, must-revalidate");
    @session_start();
}


 

jubilee

Hallo !
Hast Du da im original auch keinen Punkt hinter dem hier --->
 
Zitatini_set("session.cookie_domain",".$domain. ");
 
Wenn du $domain vorne mit " . anfängst musst Du hinten auch  so . " aufhören sonst steht als cookie .$domain

Ansonsten scheint alles richtig definiert zu sein


MfG
jubilee

[Editiert am 9/10/2003 von SiteAdmin jubilee]

sidewind

danke hat geklappt,
hab die cookies dekativiert, jetzt geht es.

noch eine kleine frage

wenn ich diese funktion sessionstart aurufe , andere dateien include und
in den funktionen dieser files befehle wie session_register() oder session_destroy() bzw $_SESSION['baba']="sjafjl"; verwende, funktioniert dieses oder muss ich in jeder funktion am anfang den session_start befehl reinmachen?

danke euch

jubilee

Ja, sollte so funktionieren.
Die Session ist ja (in der Regel) im Session Ordner auf dem Server gespeichert (session safe path)
Wenn Du Session-Befehle verwendet, wird dort nach der Session gesucht.
Identifiziert wird über den bei session_name verwendeten Namen.Also session_start  nur wenn die Session gestarted wird (1x) das braucht erst wieder gemacht werden, wenn die Session gelöscht wurde (session_destroy) oder wenn die Session abgelaufen ist (session_lifetime)
MfG
jubilee