Gif*_*ary 11 php cookies ajax jquery
我在脚本上遇到一些问题,我使用PHP和jquery来创建登录系统.
首先,我有PHP页面包含登录表单.当用户点击提交时,我使用jquery将数据发送到服务器
$.post('server_login.php', {username:username.val(), password:password.val()}, function(data){
alert(data);
});
Run Code Online (Sandbox Code Playgroud)
在server_login.php中我有做登录用户的功能.
if($_POST['username']=='username' && $_POST['password']=='1234'){
$expire = time() + 60*60*24*30; //1 month expired.
setcookie("user_id", $_POST['username'], $expire);
echo true;
}
Run Code Online (Sandbox Code Playgroud)
和jquery在我的登录页面上提醒"1".
问题是,当我刷新我的网站并收回cookie时,它没有告诉我.
print_r($_COOKIE);
Run Code Online (Sandbox Code Playgroud)
哪里不对了?
Max*_*sky 18
如果您正在调用的脚本位于服务器上的另一个文件夹中(或通过url重写,它看起来好像在另一个路径下),请确保设置cookie的path参数.
默认情况下,setcookie()仅为当前路径设置cookie.
如果您的页面是,www.domain.com并且您www.domain.com/auth/login.php对cookie 进行了ajax调用将被设置为,/auth并且将无法在外部使用/auth.
所以尝试改为:
setcookie("user_id", $_POST['username'], $expire, '/');
Run Code Online (Sandbox Code Playgroud)