У меня есть форма входа в систему с пометкой меня, которая устанавливает адрес электронной почты пользователя в файле cookie, который затем я хочу автоматически заполнить имя пользователя при следующем входе в систему. Кроме того, когда я использую firbug он показывает путь к файлу cookie в каталоге, где находится страница login.php
. index.php
не находится в том же каталоге, что и каталог login.php
.PHP Запомнить меня Cookie Issue
У меня есть 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>
Я могу видеть, что куки устанавливаются, но когда я пытаюсь повторить печенье (адрес электронной почты), то ди ничего не дает.
Я знаю, что я, вероятно, не делаю этого наилучшим образом, но он работал, и теперь он перестает работать. Любые предложения о том, что я делаю неправильно?
EDIT: Когда я использую Firebug я вижу это на вкладке Cookies:
- Имя: Электронный адрес
- Значение: адрес электронной почты
- Путь: это другой путь, чем на текущей странице я «м на
var_dump($_COOKIE['email'])
Когда я это показать NULL
перестал работать ** КАК **? неправильный адрес электронной почты? нет адреса электронной почты? Проделали какую-либо базовую отладку, например, посмотрели, установлен ли cookie? Какое значение в нем было установлено? –
Извините, я обновлю свой вопрос, но да, он устанавливает cookie с адресом электронной почты пользователей, который вводился при входе в систему. Я вижу, что cookie установлен, но он не отображает адрес электронной почты в поле ввода, когда я эхо печенье. – iamthestreets
Почему у вас есть '$ _COOKIE ['email'] = $ userEmail;'? Если он что-то делает, он переписывает ваше значение несуществующей переменной. – jeroen