0

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

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

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

什么可能导致这个问题发生?

4

2 回答 2

0

要设置 cookie,它需要一个触发器。

登记:

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

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

由于您提供的内容,这就是我目前所能提供的全部内容。

于 2013-05-28T19:51:07.773 回答
0

我可能对正在发生的事情有一个预测,但一些代码会证实这一点。网络服务器首先发送标头(包括“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需要这样做)

于 2013-05-28T20:10:09.733 回答