【发布时间】:2015-02-09 01:32:51
【问题描述】:
当我将表单提交给动作处理脚本时,我应该设置 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"); }
【问题讨论】:
-
您将 cookie 名称设置为“hotspot-user-email”,但将其检索为“uniroyal.mk-hotspot-user-email”。是否还有其他您未共享的代码 sn-p?另外,检查“setcookie”的返回值
-
@ghopst 我刚刚在此处发布时修改了名称。问题是没有设置cookie。当我进入 chrome cookie 并搜索它时,它不存在。
-
@ghopst 至于另一个剪断。并不真地。它包含在 if 语句中。这将验证电子邮件地址。如果电子邮件地址写得正确,它应该设置 cookie。但事实并非如此。
-
请发布您的完整代码
-
@CodingHorror 那里张贴...