制作 PHP cookie 棒时遇到问题
我正在尝试为网站创建一个临时登录系统。我使用 cookie 而不是数据库,因为它只是用于 FED 测试,但由于某种原因,我的 cookie 没有粘住:(
我知道我发布得很好,因为标头功能有效
if ($_POST['login'] == 1) {
if (($user=="name") && ($pass=="secret")) {
setcookie("seeker", "1", time()+3600);
header('Location: ../index.php?');
} else echo '<i>Incorrect username/password.</i>';
}
I'm trying to create a temporary login system for a site. I'm using cookies rather than a database as it is merely for FED testing but for some reason my cookies are not sticking :(
I know I'm posting fine because the header function works
if ($_POST['login'] == 1) {
if (($user=="name") && ($pass=="secret")) {
setcookie("seeker", "1", time()+3600);
header('Location: ../index.php?');
} else echo '<i>Incorrect username/password.</i>';
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试使用更大的过期值的完整 cookie 设置:
路径设置可能是原因。如果您在
example.com/subdir/script.php
的脚本中设置 cookie,则 cookie 将使用/subdir
作为其路径,并且不会显示用于在不同目录中运行的脚本。Try a full cookie setting with a larger expiry value:
The path setting may be the reason. If you're setting the cookie in a script in
example.com/subdir/script.php
, then the cookie will using/subdir
as its path, and not show up for scripts running in different directories.您还应该考虑使用 PHP 会话。它会自动为您设置 cookie。
You should also consider using PHP Sessions. It will set the cookies for you automatically.