我正在开发一个在$ _SESSION中保留用户会话令牌的网站。当我直接输入URL时,我可以很好地加载cookie,但是当我点击通过PHP加载cookie的页面时,它无法找到cookie。有没有办法解决这个问题?
以下是保存Cookie的代码
setcookie("tpl_token", $token, time()+365*24*60*60, "/");
用于检索
if(isset($_COOKIE['tpl_token'])){
$token = $_COOKIE['tpl_token'];
} else {
echo "Cookie not set";
}
返回没有设置cookie。
答案 0 :(得分:2)
要在PHP中创建会话,请使用session_start()
函数。 PHP会在内部为您处理会话,因此您不必进行任何肮脏的工作。
示例:
session_name("tpl_token");
session_start(); //sends session cookie with name "tpl_token"
//create session variable.
$_SESSION["logged_in"] = true;
if(isset($_SESSION["logged_in"])){
//stuff to do if user is logged in already
} else {
//stuff to do if user is not logged in.
}
//Destroy Session/Logout;
session_unset();
session_destroy();
如果您尝试创建会话cookie,则不需要$_COOKIE[]
功能