【问题标题】:Having trouble making a PHP cookie stick制作 PHP cookie 棒时遇到问题
【发布时间】:2011-07-19 01:56:08
【问题描述】:

我正在尝试为网站创建一个临时登录系统。我使用的是 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>';
}

【问题讨论】:

  • cookie 不存在或是否已设置? “不粘”是什么意思?
  • 你怎么知道 cookie 没有粘起来? var_dump($_COOKIE); 显示什么?
  • 我知道它没有粘住,因为我的浏览器中没有 cookie。如果 cookie 存在并且没有发生,我有一段单独的代码可以执行某些操作
  • 在设置 cookie 之前,您是否将任何内容输出到屏幕上?

标签: php cookies login


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-05-02
      • 2013-12-19
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 2019-05-12
      • 2019-08-23
      • 1970-01-01
      • 2023-03-07
      相关资源
      最近更新 更多