我有一个脚本,所以当用户在联系我表单上输入错误的验证码时,它会将用户表单数据保存到cookie中,以便在用户必须重新输入验证码时可以调用。但它并没有保存cookie,我已经检查了Chrome调试器,它什么也没做。
这是代码,在有人问之前,我已经检查了变量是否成功工作;)
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
setcookie("name", $name, time()+3600, "/", "http://pattersoncode.ca");
setcookie("email", $email, time()+3600, "/", "http://pattersoncode.ca");
setcookie("message", $message, time()+3600, "/", "http://pattersoncode.ca");
问题是域参数中的http://
;它指定了一个协议,即HTTP,并且不是域的一部分。
如果要设置对example.com
有效的cookie,则subdomain.example.com
将仅在该子域上工作,而设置.example.com
将在所有子域(包括根域)上工作。
简而言之,试试这些:
setcookie("name", $name, time()+3600, "/", ".pattersoncode.ca");
setcookie("email", $email, time()+3600, "/", ".pattersoncode.ca");
setcookie("message", $message, time()+3600, "/", ".pattersoncode.ca");