我有一个脚本,所以当用户在联系我表单上输入错误的CAPTCHA时,我会将用户表单数据保存到cookie中,以便在用户必须重新进入CAPTCHA时调用它。但它没有保存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");
答案 0 :(得分:1)
问题在于您的域参数中的http://
;它指定一个协议,即HTTP,并且不是域的一部分。
如果您希望将Cookie设置为example.com
生效,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");