2014-01-21 36 views
1

我是相当新的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

所有像样的浏览器有工具来检查饼干(或HTTP头,这是他们发回给服务器的方式) 。你的是啥呢? –

+0

您在本地主机上还是在具有实际限定域的服务器上进行测试? – Saeven

+0

@Saeven我目前在localhost上测试 – user3194972

回答

0

确保您设置Cookie的域名,这是一个参数,将节省您头疼

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

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

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域)中可用。 的 默认值是当前目录中的cookie被设定 英寸

相关问题