Session-Zeit funktioniert nicht richtig

Hattrix

Erfahrenes Mitglied
Hallo,

und zwar habe ich mit session eine Zeit (2 Std.) festgelegt, wann ein Feature bei einem Brwosergame wieder zur Verfügung steht. Doch viele User melden, dass man auch nach 2 Std. nichts ändern kann.

PHP:
 $_SESSION['login_time'] = time();

 if(time() > $_SESSION['pruef'] + 7200)
 {

  if(time() > ($_SESSION['login_time'] + 7200 ))
  {
//   echo 'ende session';
  }
  else
  {

   if($_SESSION['pruef']=='') $_SESSION['pruef'] = time() - 7300;
   else $_SESSION['pruef'] = $_SESSION['login_time'] + 7200;
//   echo 'session aktiv';
  }

 }




  $pruef=$_SESSION['pruef'] + 7200;
  if(time() < $pruef

Was ist daran evtl. falsch?`Ich kann kein Fehler finden!
 
Du darfst den Wert erst nach der Überprüfung aktualisieren. Sonst entspricht der Wert ja immer dem aktuellen Zeitpunkt.
 
Dieser Ausdruck ist beispielsweise immer falsch, da kurz vorher $_SESSION['login_time']=time() gesetzt wurde:
PHP:
time() > ($_SESSION['login_time'] + 7200 )
 
Hm, ich merke, diese if-Anweisung kann ich eigentlich weglassen.

Aber warum verursacht die bei einen das Problem und bei anderen wiederrum nicht?
 
Mit diesem Script setze ich ja die Session auf 2 Std.. Nach diesen 2 Stunden sollen die User ein Feature wieder nutzen können. Doch im Forum kommen Meldungen, dass es nicht nach 2 Std. wieder abrufbar ist, aber eben nicht von allen, sondern nur von einem gewissen Teil an Usern.

Ich sehe an meinem Script hier kein Fehler, der das hervorruft. Daher ist das Forum hier meine letzte Lösung momentan, das Problem, was die User haben, in Griff zu bekommen.
 
Zurück