$ _COOKIE不可用

时间:2013-05-28 19:28:10

标签: php jquery post cookies

我编写了PHP代码,使用jQuery的$.post方法注册用户。我有以下文件方案:

index.php(主页)> functions.php(注册表单位于此处,我使用 include 将我的注册表单包含在index.php中)> jquery.js(将$ .post请求发送到php.php)> php.php(所有php的东西都在这里)。

现在我想在注册成功后在php.php中设置cookie。但是,我的cookie在index.php中不可用。

是什么让这个问题发生?

2 个答案:

答案 0 :(得分:0)

要设置Cookie,需要触发器。

注册:

if (isset($_POST['Submit'])){
  setCookie('Test'); // Testing cookie 
  }

现在,这是您的示例触发器,更新将在刷新/重定向后追加并完成。这将允许您查看您的cookie。

由于您提供的内容,我现在可以提供这一切。

答案 1 :(得分:0)

我可能预测发生了什么,但有些代码会证实这一点。 Web服务器首先发送标题(包括“Content-Type:HTML”和“Expires:Someday”)。 “Set-Cookies”就是其中之一,需要在任何实际的HTML内容之前发送。如果您在发送内容后尝试设置cookie值,则会失败。

$_COOKIE['val1'] = 'This will theoretically get through.';
echo '<p>This is HTML!</p>';
$_COOKIE['value'] = 'And this will not get through.';

(我在一段时间内没有专门做过PHP,所以实际上我可能忘记了setcookie是否是必需的方法)