Zeitsperre

LordoftheBord

Mitglied
Hi

Ich weiß, das Thema gabs schon 100 mal, aber meine frage wurde, soweit ich gesehen hab, noch nicht beantwortet.

Zu meinem Problem: Ich habe einen Login erstellt. Funtzt alles, login, logout, überprüfung ob man eingloged is etc. Jetzt möchte ich aber eine Überprüfung reinbauen die bei jedem Seitenaufruf überprüft ob man 10 min nicht auf einen Link geklickt hat. Mal ein Beispiel: Der User meldet sich auf der index.php an. Nun ließt er sich die neusten News durch und entscheidet dann zu einer der News einen Kommentar zu schreiben. Er klickt also auf den Link "Comments". Und auf dieser Seite soll nun als erstes überprüft werden ob der letzte Linkaufruf mehr als 10 min her ist. Wenn ja, muss sich der User erneut einlogen, wenn nicht muss die Variable in der die Zeit steht wann sich der User eingeloged hat um 10 erhöht werden.

Noch 2 Beispiele zur Erklärung:

1. User logt sich ein, nach 7 min schreibt er Kommentar. Auf der Kommenatr Seite wird die Zeit Variable um 10 erhöht

2. User logt sich ein, nach 12 min will er einen Kommentar schreiben. Da mehr als 10 min vergangen sind, wird er aufgefordert sich erneut einzulogen

Es ist wahrscheinlich voll easy aber bei mir hängt es jetzt einfach. Hab folgendes erstellt:

Code:
//Benutzer hat sich gerade eingelogt
...
session_register("datum");
$datum=date("y-m-d-H-i-s");
...

//Seitenanfang
<?

session_start();
$aktuelles_datum=date(y-m-d-H-i-s);

$Login_datum=$datum;
$array_datum=explode("-",$aktuelles_datum);
$array_datum2=explode("-",$Login_datum);


$stamp=mktime($array_datum[0],$array_datum[1],$array_datum[2],$array_datum[3],$array_datum[4],$array_datum[5]);
$stamp2=mktime($array_datum2[0],$array_datum2[1]+10,$array_datum2[2],$array_datum2[3],$array_datum2[4],$array_datum2[5]);

if ($stamp2<$stamp)	{
	session_destroy();
   	die ("<meta http-equiv=\"refresh\"content=\"0;URL=news.php\">");
}

?>

($array_datum2[1]+10 damit zur login Zeit 10 min dazugezählt werden (wegen 10 min Überprüfung)).
Hab mal überprüft, aber man wird nach 10 min nicht ausgeloged. Kann mir jemand vielleicht auf die Sprünge helfen?

Wäre sehr Dankbar.

mfg
LotB
 
Zurück