Cookies似乎没有做任何事情

时间:2014-01-21 17:08:13

标签: php html cookies

我对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脚本后将文件保存在正确的目录中。尴尬...

2 个答案:

答案 0 :(得分:0)

确保您正在设置Cookie的域名,这是一个可以让您头疼的参数

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

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

答案 1 :(得分:0)

您可能被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 / of domain。的的   默认值是正在设置cookie的当前目录   英寸