Ich versuche, eine Sitzungs-ID für den Benutzer erstellen, die 1 Stunde dauert.Erstellen einer Sitzung mit einer eindeutigen ID für 1 Stunde - PHP
Benutzeranmeldungen einmal - Randomid generiert - Sitzung hinzugefügt.
Benutzeranmeldung erneut innerhalb von 1 Stunde, die gleiche Sitzungs-ID gilt.
Wenn sich der Benutzer nach 1 Stunde anmeldet, generieren Sie eine neue ID.
Bisher habe ich diese
session_start();
//create random sid
$today = date('YmdHi');
$startDate = date('YmdHi', strtotime('2012-03-14 09:06:00'));
$range = $today - $startDate;
$rand = rand(0, $range);
$sid= ($startDate + $rand);
//first time user
if(isset($_SESSION['sessionid'])) {
$_SESSION['sessionid'] = $sid;
}
//visiting user
else
{
$_SESSION['sessionid'] = $_SESSION['sessionid'];
}
echo $_SESSION['sessionid'];
Wie kann ich ein Timeout für 1 Stunde hinzufügen? Ich habe Beispiele gesehen, in denen Cookies verwendet werden. Ich hoffe, nur serverseitige Sitzungen verwenden zu können?
Irgendwelche Ideen?
Nur neugierig: Warum machst du das? -> '$ _SESSION ['sessionid'] = $ _SESSION ['sessionid']'. –
Sie müssen etwas wie Benutzernamen und Passwort nehmen und speichern, dann prüfen, ob diese Kombination in einer Sitzung vorhanden ist und wenn dies der Fall ist, überprüfen Sie, ob die Sitzung "aktiv" ist ('if (($ startDate + 1 Stunde)> Datum) ('YmdHi')) {newSession} else {Sitzung ist offen!} ' –
Schauen Sie hier, speziell bei' session_set_cookie_params() ', und der gewünschte Parameter ist' lifetime'. Http://php.net/manual/de /ref.session.php –