我遇到了问题,无法理解答案。出于某种原因,当我将用户重定向回url参数为?saved = true 的页面时,似乎取消设置cookie并因此将用户注销。
在每个页面的顶部我都有这个PHP:
session_start();
if (isset($_COOKIE["LoggedIn"])) {
echo "There is a cookie set ";
$isLoggedIn = true;
} else {
// perform check for user against db and then set session and cookie
}
正在重定向它的页面正在使用标题位置:
if($sql) {
header("Location: http://site.co.uk/".$page.".php?saved=true");
}
修改 :: 这是设置cookie的代码,如果有返回的行,即有匹配的用户名和密码:
if ($sql->num_rows > 0) {
while($row = mysqli_fetch_array($sql)) {
$loggedInUser = $row['username'];
}
session_start();
$_SESSION['username']=md5($loggedInUser);
$value = $_SESSION['username'];
setcookie("LoggedIn",$value);
}
cookie的设置很好,它在重定向页面发生时不断被删除。哎呀!
任何人都可以帮我吗?