Когда я отправлю форму скрипту обработки действий, я должен установить cookie. Но cookie не устанавливается.
<input type="email" name="fes-email" class="fes-input" value="<?php echo $_COOKIE['hotspot-user-email']; ?>" placeholder="Еmail">
Это можно найти на странице сценария обработки.
setcookie('hotspot-user-email', $_POST['fes-email'], time() + (86400 * 30), 'domain.tld');
Я пытаюсь сохранить адрес электронной почты в файле cookie, так что в следующий раз, когда пользователь вернет адрес, будет отображаться эхо в поле ввода.
Есть ли проблема с моим кодом?
if(!empty($_POST['fes-email'])) {
if (filter_var($_POST['fes-email'], FILTER_VALIDATE_EMAIL)) {
setcookie('hotspot-user-email', $_POST['fes-email'], time() + (86400 * 30), '/'); // 86400 = 1 day
}else { echo("EMAIL IS NOT VALID"); }
}else { echo("EMPTY FIELD"); }
Ниже приведен самый простой фрагмент, который делает магию
<?php
if (isset($_COOKIE['testCookie'])) {
echo "<br/> Cookie is set: " . $_COOKIE['testCookie'] ." <br/>";
} else {
if (setcookie('testCookie','[email protected]', time() + 86400)) {
echo "<br/> cookie is set <br/>";
}
}
?>
вы устанавливаете cookie только для "domain.tld"
пожалуйста, проверьте этот код для всей страницы этого адреса:
setcookie('hotspot-user-email', $_POST['fes-email'], time() + (86400 * 30), '/');