在PHP中设置/检查cookie时出现问题
我有一个小的基本网站,用户只有在登录后才能查看某些页面。只有1个用户名和密码,因为该网站只供少数人使用,安全性不是主要问题。无论如何,当用户键入正确的用户名和密码并提交时,代码中会设置一个cookie并重新加载页面。但它仍然显示内容,就好像用户没有登录一样。当我再次按下sumbit按钮或单击另一页时,内容显示正确(导航栏中有更多项目)。我不明白为什么它不会第一次显示这些项目 登录页面顶部:在PHP中设置/检查cookie时出现问题,php,cookies,Php,Cookies,我有一个小的基本网站,用户只有在登录后才能查看某些页面。只有1个用户名和密码,因为该网站只供少数人使用,安全性不是主要问题。无论如何,当用户键入正确的用户名和密码并提交时,代码中会设置一个cookie并重新加载页面。但它仍然显示内容,就好像用户没有登录一样。当我再次按下sumbit按钮或单击另一页时,内容显示正确(导航栏中有更多项目)。我不明白为什么它不会第一次显示这些项目 登录页面顶部: if (isset($_POST['reg'])){ if ($form_errors =
if (isset($_POST['reg'])){
if ($form_errors = validate_form()) {
show_form($form_errors);
} else {
logon();
}
} else {
show_form();
}
页面内容(功能显示表单)
因此,cookie被设置,show_form函数被调用,但仍然显示表单,而不是echo“you now logging”。当我切换页面或再次点击提交按钮时,将显示回显。为什么它第一次不这么做
请帮忙 他们说:
Cookie只有在
下一次加载
cookie应该是可见的。检验
如果成功设置了cookie,
在下次加载时检查cookie
在cookie过期之前返回页面。到期
时间通过expire参数设置。
一种很好的调试
cookies只需打电话就可以了
打印_r($_COOKIE)
设置cookie后,您应该重新加载页面,您可以使用header('位置:http://someurl');模具()代码>说:
Cookie只有在
下一次加载
cookie应该是可见的。检验
如果成功设置了cookie,
在下次加载时检查cookie
在cookie过期之前返回页面。到期
时间通过expire参数设置。
一种很好的调试
cookies只需打电话就可以了
打印_r($_COOKIE)
设置cookie后,您应该重新加载页面,您可以使用header('位置:http://someurl');模具()代码>登录完成后,使用header函数手动刷新页面即可。设置cookie后,只能在下一页重新加载时访问它
请参阅。登录完成后,使用header功能手动刷新页面即可。设置cookie后,只能在下一页重新加载时访问它
查看。我希望您已经完成了一些调试,如果没有,可以打印您的$\u COOKIE
值并查看您得到了什么?可能的重复我希望您已经完成了一些调试,如果没有,可以打印您的$\u COOKIE
值并查看您得到了什么?可能的重复
<?php
if( isset($_COOKIE['logedon'])){
echo '<p>You are now logged on</p>';
}
else{
//shows form containing: <input type="hidden" name="reg" value="1"/>
}
?>
function logon(){
$expire= 60 * 60 * 24 * 10000 + time();
setcookie('logedon', true, $expire);
show_form();
}