Ich habe eine Tabelle, in der sessionhashs, userid, die IP-Addresse und anderes Zeug gespeichert zwecks wiedererkennung des Users.
Das Problem besteht nun darin, dass wenn der User nun neu auf die Seite kommt (sprich eine neue Sessions wird erstellt) soll folgendes Stück Code ausgeführt werden:
Die Sessionid wird vorher über POST, GET oder ein COOKIE übergeben (das Script entscheidet). Wenn keine Sessionid gefunden wird wird sie null gesetzt (dieses Stück Code wird natürlich vor dem Stück oben ausgeführt):
Soweit gibts auch keine Syntaxfehler. Das Problem besteht darin, dass die Query aus dem ersten if-Block nicht ausgeführt wird.
Wenn ich nun aber die Umleitung auskommentiere, funzt es.
Jemand Vorschläge?
Das Problem besteht nun darin, dass wenn der User nun neu auf die Seite kommt (sprich eine neue Sessions wird erstellt) soll folgendes Stück Code ausgeführt werden:
PHP-Code:
if(!$dba->queryfirst("SELECT userid FROM ph_sessions WHERE sessionid = '$sessionid'")) {
sid(randomstring());
$sessionid = sid();
if(empty($querystring)) $url = "$self?sid=$sessionid";
else $url = "$self?sid=$sessionid&$querystring";
$dba->query("INSERT INTO ph_sessions VALUES (
'$sessionid',
".$uinfo["userid"].",
$timenow,
'$clientip',
'$useragent',
'$requesturi')");
//header("location: $url");
exit;
};
PHP-Code:
if(!empty($_COOKIE["sid"])) $sessionid = $_COOKIE["sid"];
else if(!empty($_GET["sid"])) $sessionid = $_GET["sid"];
else if(!empty($_POST["sid"])) $sessionid = $_POST["sid"];
else $sessionid = null;
Wenn ich nun aber die Umleitung auskommentiere, funzt es.
Jemand Vorschläge?
Kommentar