【问题标题】:PHP Session and Cookie IssuesPHP 会话和 Cookie 问题
【发布时间】:2013-12-10 21:51:00
【问题描述】:

我想在 cookie 或会话中将多个单词作为字符串保存并记住,然后在 html 表中输入的值字段中重新显示它们。

例如,

假设我想将“John Smith”存储在$_SESSION['Customer']

setcookie("Customer", "$CUSTOMER", $time);

这会在 p 标签中重新显示完整的字符串。但是当我想在这样的输入字段中显示完整内容时:

<input type="text" name="customer" value= <?php echo $_COOKIE['Customer'];?>

<input type="text" name="customer" value= <?php echo $_SESSION['Customer'];?>

这些显示第一个单词,仅此而已。知道为什么它不会显示这两个词吗?

您最近检查过租车吗?你是加里·科尔吗?

客户:Gary(应该是 Gary Cole) 车名:福特(应该是福特福克斯)

可能是桌子问题?

【问题讨论】:

  • 无效的 php & html 是错字还是问题所在?您需要 " 围绕属性值和 &lt;&gt; 来分隔 html 标记。
  • 确保在 setCookie 函数之前没有发送任何标头
  • 非常感谢您删除这个问题......现在所有的回复都是浪费时间。
  • @James,不允许以您尝试的方式自毁帖子,尤其是在有人花时间提供答案之后。抱歉,我已经回滚到之前的状态。如果您对此有任何疑问,请在 Meta Stack Overflow 上打开支持线程。

标签: php session cookies


【解决方案1】:

可能有两件事:

  1. 无效的 HTML 和 PHP:缺少 "&lt;&gt;。有效的是:

    <input type="text" name="customer" value="<?php echo $_COOKIE['Customer']; ?>" />
    

    确保对该值进行 html 编码!,即:

    <?php echo htmlspecialchars($_COOKIE['Customer']); ?>
    

    或带有短标签:

    <?= htmlspecialchars($_COOKIE['Customer']) ?>
    
  2. 设置 cookie 后,它不会更新 $_COOKIE,因此您无法立即访问它。它存在于下一页加载时的$_COOKIE 中。或者你也可以自己添加,直接:

    $_COOKIE['Customer'] = "$CUSTOMER";
    setcookie("Customer", $_COOKIE['Customer'], $time);
    

当然 setcookie() 不会影响$_SESSION

【讨论】:

  • 不,不幸的是它仍然不起作用。您最近检查过租车吗?你是加里科尔吗?客户:Gary 车名:Ford 可能是桌面问题?
  • 什么???我不知道你在说什么。什么不起作用? cookie 没有设置好?您可以在浏览器的 devtools 的网络面板中进行检查。当然还有下一页的print_r($_COOKIE);。以及任何 PHP 错误。错误报告是否开启?
  • 是的。一些标记可能会有所帮助。你读过答案吗?你加了"吗?
【解决方案2】:

这对我有用:

<?php
$CUSTOMER = "John Smith";
setcookie("Customer", "$CUSTOMER", time()+3600);
echo $_COOKIE['Customer']; // check cookie ;-)
?>
<form>
<input type="text" name="customer" value="<?php echo $_COOKIE['Customer']; ?>">
</form>

【讨论】:

  • 这显示的是 John 和 Smith 吗?它不适合我。但我开始认为它在桌子上与它有关
  • 是的,当然,您必须先刷新,因为必须首先设置 cookie,但之后 John Smith 会显示在输入字段中。我认为您的问题确实在其他地方。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-28
  • 2014-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多