在我的PHP项目中,我想添加一个用户记住我 checkbox
,以便每个人都可以选择保持登录状态:
到现在为止,我正常登录:
public function loginUser($psMail, $psPwd, $pnRememberMe = 0) {
// Check credentials and so on
// If mail and password matches
if(CREDENTIALS OKAY) {
$_SESSION["username"] = "foo";
$lnExpire = time() + 3600 * 24 * 60;
setcookie("remember", base64_encode(USERID), $lnExpire);
setcookie("rememberToken", md5(SOMESTUFF), $lnExpire);
}
}
当我登录时,我可以看到创建的cookie变量:
print_r($_COOKIE);
现在我尝试使用我的注销功能离开网站:
// Unset the session variables
$_SESSION = array();
// Destroy the session.
session_destroy();
但现在,当我在登陆页面时,还有我的饼干消失了吗? 这可能是因为我的会话网站设置?
ini_set("session.use_only_cookies", "1");
ini_set("session.use_trans_sid", "0");
答案 0 :(得分:0)
php function setcookie有第四个参数路径,来自文档“服务器上可以使用cookie的路径”。默认情况下,它将路径设置为实际目录。尝试设置“/”然后它将适用于所有域。 http://php.net/manual/en/function.setcookie.php
答案 1 :(得分:0)
试试这段代码,希望它适合你
if(count($_POST>0) && isset($_POST['checkbox']))
{
setcookie('name',$_POST['uname'],time()+3600);
setcookie('password',$_POST['pw'],time()+3600);
}
elseif(count($_POST)>0)
{
setcookie('name','',time()-3600);
setcookie('password','',time()-3600);
}
if(count($_POST)>0 && $_POST['uname']!="" && $_POST['password']!="")
{
if(isset($_COOKIE['name']) && isset($_COOKIE['password']))
{
echo $_COOKIE['name'];
echo $_COOKIE['password'];
}
这里的登录详细代码.....