【问题标题】:Cookies do not seem to do anythingCookie 似乎没有任何作用
【发布时间】:2014-01-22 01:45:19
【问题描述】:

我对 php 还很陌生(今天才开始),我已经遇到了问题。我正在使用这个 html 表单:

<form method="post" name="form" >
     Vorname: <input type="text" name="vorname" /><br />
     Nachname: <input type="text" name="nachname" /><br />
     <input type="button" value="Anmelden" onclick="check(this.form)" />
</form>

提交表单后,我想将输入保存为下一页上的 cookie。它使用这个 php 脚本:

<?php
$timestamp = time();
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);

setcookie("vor", $vorname, time()+30);
setcookie("nach", $nachname, time()+30);
setcookie("datum", $datum, time()+30);
setcookie('uhrzeit', $uhrzeit, time()+30);
?>

所以现在,当我返回上一页时,如果存在 cookie,它应该使用以下命令重定向到不同的页面:

<?php
if(isset($_COOKIE['vor'])) {
    header ("Location: Welcome.php");
}
?>

但是,它不会重定向,我什至不确定是否设置了 cookie。 如果这有点令人困惑,我很抱歉,但我不知道该怎么说。所以,如果你知道我的错误在哪里,请告诉我。

编辑:原来我只是在添加 php 脚本后忘记将文件保存在正确的目录中。尴尬……

【问题讨论】:

  • 所有体面的浏览器都有工具来检查 cookie(或 HTTP 标头,这是它们被发送回服务器的方式)。你的是什么?
  • 您在本地主机上进行测试,还是在具有实际合格域的服务器上进行测试?
  • @Saeven 我目前正在本地主机上测试

标签: php html cookies


【解决方案1】:

确保您为 cookie 设置域,这是一个可以让您省心的参数

setcookie('cookieName', 'value', time()+30, '/', '.mydomain.com');

这将允许您设置 cookie 路径并将其设置为整个域/服务器。

【讨论】:

    【解决方案2】:

    你可能被setcookie() default parameters欺骗了,尤其是$path

    bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

    路径

    cookie 可用的服务器上的路径。如果设置为“/”,cookie 将在整个域中可用。 如果设置为 '/foo/',cookie 将仅在 /foo/ 中可用 目录和域的所有子目录,例如 /foo/bar/。 该 默认值是设置 cookie 的当前目录 在。

    【讨论】:

      猜你喜欢
      • 2018-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      • 2019-07-30
      • 1970-01-01
      相关资源
      最近更新 更多