0

我有一个脚本,所以当用户在联系我表单上输入不正确的验证码时,我有它会将用户表单数据保存到 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");
4

1 回答 1

1

问题出http://在您的域参数中;它指定了一个协议,即 HTTP,并且不是域的一部分。

如果您想设置对 有效的 cookie example.comsubdomain.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");
于 2013-08-06T03:00:28.227 回答