【问题标题】:How to get the new value added to a cookie without reloading the page?如何在不重新加载页面的情况下将新值添加到 cookie?
【发布时间】:2018-04-15 11:39:50
【问题描述】:

我有这个 PHP 代码:

<?php
  if(isset($_POST['go'])){
     echo 'the array contains' . $_COOKIE['arrayCount'] . 'values';
  }
?>
<form method='POST'>;
  <?php
    $arr = array(//some dynamic values);
    setcookie('arrayCount' , count($arr));
  ?>
  <input type='submit' name='go' />
</form>

例如,如果数组中的值的计数是 '10' ,而前一个计数是 '15' ,我会得到 '15' 打印的消息: '数组包含 15 个值'

我想在页面顶部打印消息,是否可以这样做或者我需要使用Ajax或重新排列代码?

【问题讨论】:

  • 实际上,您似乎遇到了输出冲突。您应该始终将您的 setcookie 放在任何回显或输出之前。
  • 我不确定我是否在关注。你可以在任何地方打印 cookie 值,只要你在任何输出之前设置它。
  • cookie 是通过 http 头发送的,关闭头后无法设置 cookie

标签: javascript php html ajax cookies


【解决方案1】:

根据documentation,不适用于 PHP。

这要求您在调用此函数之前调用此函数 输出,包括和标签以及任何空格。

但是,您可以在下一页加载时获取它。

一旦设置了 cookie,就可以在下一页访问它们 加载 $_COOKIE 数组。 Cookie 值也可能存在于 $_REQUEST。

不过,How do I create and read a value from cookie? 提供了有关如何使用 Javascript 执行此操作的大量信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多