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