2014-01-21 35 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被設定 英寸

相關問題