我正在尝试为已登录的用户制作并保留会话。为此,我在我的数据库中使用表格,我想存储用户的会话数据。
这是我的createSession()函数的一部分:
...;
if ($result['cnt']){
$ip = $_SERVER['REMOTE_ADDR'];
$browser = $_SERVER['HTTP_USER_AGENT'];
$sessionidTHEPROBLEM = md5(rand(-1000,1000).microtime()) . md5(crc32(microtime()).$_SERVER['REMOTE_ADDR']);
$delete = "delete from session where ID_user = '$result[ID_user]';";
$insert = "insert into session (ID_user, id, ip, web) values ('$result[ID_user]', '$sessionidTHEPROBLEM', '$ip', '$browser');";
mysqli_query($db, $delete);
mysqli_query($db, $insert);
if (!mysqli_errno($db)){
setcookie("session", $sessionidTHEPROBLEM);
echo "logged in";
header("location:logged.php");
echo "<br> sessionID send to database: <br>";
var_dump($sessionidTHEPROBLEM);
echo "<br> sessionID in cookie: <br>";
var_dump($_COOKIE["session"]);
} ...
} ...
以上var_dump的结果是:
sessionID send to database:
string(64) "c96f5ebc3cc6012472b46b4452622328f243f35c93b02e8d929466bcc82fe011"
sessionID in cookie:
string(64) "eb3963230bef2d8ae7ad7c039a40892a1598edcd063233b6ef501c3ff13c1934"
这就是我的问题。我无法验证用户因此在logged.php文件中用户一直在注销。