Time vergleichen

polj

Grünschnabel
Hallo,

ich möchte die Zeit des Starten von Session mit der aktuellen Zeit vergleichen.
Code:
$expiretime = date("Y-m-d H:i:s", mktime($hour,$min,$sec+$expirehour,$month,$day,$year));

$timenow = date("Y-m-d H:i:s");

if ($timenow > $expiretime)

wie kan man das machen?
danke im voraus!
 
Da die date()-Funktion bei Nichtangabe eines zweiten Parameters den derzeitigen Unix-Zeitstempel benutzt, könntest du den Wert der mktime()-Funktion und den derzeitigen Unix-Zeitstempel direkt vergleichern:
PHP:
var_dump( time() > mktime($hour, $min, $sec+$expirehour, $month, $day, $year) );
 
Danke!
ich kann hoch etwas nicht verstehen. Ich möchte auch session so begränzen, dass nur ein Benutzer einen Datei benutzen zu dürfen. Wenn jemand schon arbeitet (hat der Datei gestertet), andere Users keinen Zugriff zu haben, bis zum Auslogen oder bis zum Beenden der Zeit von der Session.
es ist mir nicht so klar wie das kann man erreichen.Könnten sie mir helfen?
Danke!
 
Dass soetwas möglich ist, bezweifle ich. Denn eine Session besitzt keine permanente Verbindung zum Benutzer. Und wenn ein Benutzer nun eine Datei bearbeitet, dabei jedoch sein System abstürzt, wird die Session erst nach Ablauf der im Webserver-System eingestellte Lebenszeit verfallen. Bis dahin wäre so kein Zugriff auf die Datei möglich.
 
Du könntest immer die letzte Aktivität des Benutezrs als Timestamp mit MySQL oder in einer Datei speichern und wenn ein anderer auf die Datei zugreifen will die Zeit vergleichen und ein gewisses Timeout vorraussetzen.
Eventuell wär dazu auch ein versteckter Frame nicht schlecht, der per Javascript immer wieder neu geladen wird, so dass der Timestamp aktualisiert wird solange der User an der Datei arbeitet.
 
Zurück