我有一個記住我的登錄表單複選框,它將用戶電子郵件設置爲一個cookie,然後我想在他們下次登錄時自動填寫用戶名。另外,當我使用firbug它顯示了login.php
頁面所在目錄中cookie的路徑。 index.php
與login.php
目錄不在同一個目錄中。PHP記住我Cookie問題
所以我有登錄表單index.php
頁面。當用戶提交表單它調用login.php
具有這種片的代碼:
if (isset($_POST['email'])) {
if (isset($_POST['remember'])) {
setcookie("email", $_POST['email'], time() + 9999999);
$_COOKIE['email'] = $userEmail;
}
}
,然後在index.php
代碼我有這樣的代碼:
$userEmail = $_COOKIE['email'];
,然後我使用$userEmail
變量自動填充在這樣的用戶名字段:
<div class="form-group <?php if(isset($userEmail)) { echo $addClass; }?>" >
<input type="email" name="email" id="email" class="form-control input-lg" placeholder="Email Address" value="<?php if(isset($userEmail)) { echo $userEmail; } ?>">
</div>
我可以看到,該cookie被設置,但是當我嘗試呼應的cookie(電子郵件地址)這二一無所有。
我知道我可能沒有以最好的方式做到這一點,但它曾經工作,現在它停止工作。任何建議,我做錯了什麼?
編輯:當我使用Firebug我看到這個Cookies標籤:
- 名稱:電子郵件
- 值:電子郵件地址
- 路徑:這是比當前頁面我不同的路徑「關於
m如果我var_dump($_COOKIE['email'])
它表明NULL
停止工作** **如何?輸錯了電子郵件地址?沒有郵箱地址?完成任何基本的調試,比如看看cookie是否被設置?它有什麼價值? –
對不起,我會更新我的問題,但是,是的,它將cookie設置爲登錄時輸入的用戶電子郵件地址。我可以看到cookie已設置,但它不會在輸入字段中顯示電子郵件地址迴應cookie。 – iamthestreets
爲什麼你有'$ _COOKIE ['email'] = $ userEmail;'?如果它做了任何事情,它會用一個不存在的變量覆蓋你的值。 – jeroen