如何将html表单数据存储在cookie中,以便在提交表单后它仍然存在

Posted

技术标签:

【中文标题】如何将html表单数据存储在cookie中,以便在提交表单后它仍然存在【英文标题】:How to store html form data in a cookie so it's still there after the form is submitted 【发布时间】:2012-11-17 17:03:23 【问题描述】:

我已经制作了这个 html 表单,它将所有信息提交到 mysql 数据库。很简单的东西。

如何将用户名存储在 cookie 中,以便一旦输入?我想确保一旦用户输入他们的用户名一次,它会在未来预先填充用户名字段。

<!-- Message board submissionform -->

<form id="frmMB" name="frmMB" action="insert.php" method="post" enctype="multipart/form-data">

<label class="name"><input name="name" placeholder="Enter your name" type="text" id="name" onFocus="if(this.value=='Enter your name')this.value='';" onBlur="if   (this.value=='')this.value='Enter your name';" value="Enter your name" size="80" maxlength="10" ></label>
<br />
<label class="message">
  <input name="post" placeholder="Enter a message" type="text" id="post" onFocus="if(this.value==this.defaultValue)this.value='';" onBlur="if(this.value=='')this.value=this.defaultValue;" value="Enter a message" size="80" maxlength="140" data-maxsize="3">
</label>
<br />
<label>
<input name="Submit" class="large button" type="submit" value="submit">
</label>

【问题讨论】:

【参考方案1】:

我认为这样的事情就可以做到这一点。

setcookie($_POST['name'], $value, time()+3600);

if(isset($_COOKIE['name']) && !empty($_COOKIE['name']))

    // do some stuff here because the name is set in the cookie.

【讨论】:

他在询问会话,但您使用 cookie 的方法也应该有效。 @vlex:问题中没有提到“会话”一词。 “Cookie”被多次提及。你怎么知道他想要一个会话?【参考方案2】:

首先你需要开始一个会话 -> session_start()

一旦完成,您就创建了一个公共$_SESSION 数组,并且可以向其中添加元素。最简单的方法是:

<?php

if(isset($_POST['username']))
    sesion_start();

    $_SESSION['username'] = $_POST['username'];


...

干杯!

【讨论】:

以上是关于如何将html表单数据存储在cookie中,以便在提交表单后它仍然存在的主要内容,如果未能解决你的问题,请参考以下文章

将图片存储在 cookie 中

数据库存储与 Cookie - 从数据中存储

如何将参数从脚本传递到 html 表单值

如何将数组文本框存储在 cookie 或本地存储中?

将 xml 数据存储在 cookie 中

如何确定从我的 html 表单获取的输入值的数据类型,以便我可以使用它们在准备好的语句中绑定参数