制作 PHP cookie 棒时遇到问题

发布于 2024-11-25 03:58:28 字数 382 浏览 0 评论 0原文

我正在尝试为网站创建一个临时登录系统。我使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

被你宠の有点坏 2024-12-02 03:58:28

尝试使用更大的过期值的完整 cookie 设置:

setcookie('seeker', 1, time()+86400, '/', '.example.com');

路径设置可能是原因。如果您在 example.com/subdir/script.php 的脚本中设置 cookie,则 cookie 将使用 /subdir 作为其路径,并且不会显示用于在不同目录中运行的脚本。

Try a full cookie setting with a larger expiry value:

setcookie('seeker', 1, time()+86400, '/', '.example.com');

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.

隔纱相望 2024-12-02 03:58:28

您还应该考虑使用 PHP 会话。它会自动为您设置 cookie。

You should also consider using PHP Sessions. It will set the cookies for you automatically.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文