Hallo, ich habe folgendes Problem:
ich habe eine Website, bei der nach einem Login ein Sessioncookie generiert wird, indem sich dann ein Userhash befindet.
Anhand des Userhashes werden dann Informationen über den aktuellen User ermittelt (aus einer Mysql-Datenbank).
Mein Problem wäre nun, dass ich gerne anzeigen würde, ob sich ein User online befindet...oben ist das mit einem Eintrag in der Mysql-datenbank getan.
Problem dabei..vergisst jemand sich auszuloggen und damit den Eintrag aus der Datenbank ändert, bleibt für immer online...
Wie könnte ich es lösen, dass man sich nicht zwangsweiste ausloggen muss, trotzdem aber nicht mehr online erscheint?
ich habe eine Website, bei der nach einem Login ein Sessioncookie generiert wird, indem sich dann ein Userhash befindet.
Anhand des Userhashes werden dann Informationen über den aktuellen User ermittelt (aus einer Mysql-Datenbank).
PHP-Code:
<?php
require_once ("_files/sql/read_member_record.php");
require_once ("_files/sql/email_exists_check_db.php");
require_once ("_files/validation/validation_functions.php");
$sessionemail = $_POST['email'];
if ($_POST['submitted']) {
$email = $_POST['email'];
$password_submitted = $_POST['password1'];
$valid = verifyEmail ($email);
if (!$valid){
$error_msg = 1;
}
$valid = verifyPassword ($password_submitted);
if (!$valid){
$error_msg = 1;
}
if (!$error_msg) {
$id = checkEmail($email);
$returnedRecord = readMemberRecord($id);
$password = mysql_result($returnedRecord,0,'passwort');
if ($password==$password_submitted){
session_start();
$_SESSION['logged_in']=1;
$_SESSION[ 'sessionemail' ] = $sessionemail;
$sessionName =$_SESSION[ 'sessionemail' ];
setCookie("eingeloggt", 1, time() + 60 * 60, "/");
include ("_includes/mysql_start.php");
mysql_query("UPDATE 8d SET online = '1' WHERE id = '$my_id'", $connectID);
header ('Location: /Home');
exit();
}
}
}
include ("_includes/funktions.php");
include ("_includes/page_top_log.php");
if (!$_SESSION['logged_in']) {
print "<form action=\"/Login\" method=\"post\">";
print '<label for="email">Email</label><br />
<input name="email" type="text" id="email" class="MenuEmail"/><br />
<label for="password1">Password<span></span></label><br />
<input name= "password1" type="password" id="password1" class="MenuPassword" /><br />
<input type="submit" value="Einloggen" name="submitted" class="button"/>
</form>';
}
include ("_includes/page_bottom.php");
?>
Problem dabei..vergisst jemand sich auszuloggen und damit den Eintrag aus der Datenbank ändert, bleibt für immer online...
Wie könnte ich es lösen, dass man sich nicht zwangsweiste ausloggen muss, trotzdem aber nicht mehr online erscheint?
Kommentar