[...]
@hpzeller
dein script funktioniert irgendwie nicht. Irgendwie wird der Unix_Timestamp nicht zurückgegeben. Ich werde es aber morgen noch einmal in Ruhe probieren.
Ich habe übrigens die aktuellste Version. Trotzdem gibt es Probleme.
[...]
Merkwürdig, den verlinkten Code habe ich auf folgendem System getestet und dort hat er funktioniert.
Server OS: Linux #1 SMP Wed Oct 26 06:52:09 UTC 2016
HTTP Server: Apache/2.2.15 (CentOS)
PHP Version: 5.6.21 (Zend: 2.6.0)
Datenbank: MySQL 5.1.73-log
modified eCommerce Shopssoftware v2.0.2.1 rev 10607 dated: 2017-01-25
Datenbank Version: "MOD_2.0.2.1"
Vorschlag:
Füge testweise nach diesem Code
$check_customer = xtc_db_fetch_array($check_customer_query);
diesen Code ein und schaue dir das Ergebnis im Browser an.
echo '<pre>'; print_r($check_customer);echo 'Die erlaubte Zeit betraegt '.VALID_REQUEST_TIME
.' Sekunden<br>';echo 'Zeitstempel der \'password_request_time\': '.strtotime($check_customer['password_request_time']).'<br>';echo 'UNIX Zeitstempel: '.$check_customer['db_timestamp'];echo '</pre>'; Nachtrag:
Folgende Zeile aus dem verlinkten Code könntest du mal testweise
} elseif ($check_customer['db_timestamp'] > (strtotime($check_customer['password_request_time']) + VALID_REQUEST_TIME
)) { mit dieser ersetzen.
} elseif ((int
)$check_customer['db_timestamp'] > (strtotime($check_customer['password_request_time']) + (int
)VALID_REQUEST_TIME
)) { PS:
Grundsätzlich sollte man sich nicht auf Zeitsychronität von Webserver und Datenbankserver verlassen und das bedeutet, dass wenn man eine Zeit mit now() setzt man sie später auch mit der Datenbank-Zeit vergleichen sollte bzw. setzt man eine Zeit mit time() so sollte man sie später mit der Webserver-Zeit vergleichen, wenn ein Zeitspanne ermittelt werden soll.
Gruss
Hanspeter