session_start() auf existenz prüfen ?

methodus

Erfahrenes Mitglied
Ich habe mal wieder problemchen, diesmal folgendes:
ich habe mir ein userbereich angelegt, der mit sessions arbeit soll

in meinem loginscript steht am anfang der ganze kram zum starten einer session, sammt session-id

PHP:
srand((double)microtime()*100000);
$sesID = md5(uniqid(rand()));
session_name("suser");
session_id($sesID);
session_start();

das steht in den ersten 5 zeilen meines scripts

später fragt das script eine in einer Datenbank abgelegten ID ab und vergleicht diese mit der ausgabe von session_ID(), da ich aber jedesmal wenn ich das script öffne eine neue ID bekomme, gibts probleme mit dem vergleich mit der aus der Datenbank

wie kann ich nun also prüfen ob eine Session schon läuft, so dass er nur die laufende weiterführt und falls keine aktiv ist, eine neue erstellt und so auch eine neue ID generiert?

danke für die hilfe.
 
.also wenn ich da nichts falsch verstanden habe.. dann machst du einfach auf jeder seite eine abfrage ob die session noch registered ist..

PHP:
session_start();
if ((session_is_registered ("suser")) {
  echo"ja, ist noch aktiv";
} else {
   echo"neu anmelden bitte";
}
 
du darfst auch nicht jedesmal eine neue id generieren ... einmalig, wenn noch keine session gestartet ist, ansonsten musst du die vorhandene id uebernehmen ...

PHP:
  session_name("suser");
  session_start();

langt voellig, die id wird automatisch generiert wenn noch keine vorhanden ist...
 
hmm...ok war etwas doof erklärt, mal anders: ich habe ne seite wo sich der user einloggt. ganz am anfang des scriptes wird eine session gestartet, leider aber immer mit einer neuen ID.

session_is_registered() is nur für variablen die angemeldet wurden um abzufragen ob sie noch existent sind. wie ich das nun mit ner varible mache weiß ich nicht, weil ich ja trotzdem am anfang session_start() nehmen muss
 
die selbe seite hab ich mir schon durchgelesen, danke aber trotzdem.

ich bin newbee in PHP und schnell lernen kann ich auch nicht weil ich mirs selber beibringe....
 
Zurück