【发布时间】:2014-11-19 01:02:17
【问题描述】:
我正在用 html 制作表单。当一个人点击提交时,它会检查某些字段是否填写正确,到目前为止,表单非常简单。
但是,如果有人刷新页面,我想保存输入到字段中的文本。因此,如果页面被刷新,文本仍然在字段中。
我正在尝试使用 php 和 cookie 来实现这一点。
// Cookie
$saved_info = array();
$saved_infos = isset($_COOKIE['offer_saved_info']) ? explode('][',
$_COOKIE['offer_saved_info']) : array();
foreach($saved_infos as $info)
{
$info_ = trim($info, '[]');
$parts = explode('|', $info_);
$saved_info[$parts[0]] = $parts[1];
}
if(isset($_SESSION['webhipster_ask']['headline']))
$saved_info['headline'] = $_SESSION['webhipster_ask']['headline'];
// End Cookie
现在是表单输入字段:
<div id="headlineinput"><input type="text" id="headline"
value="<?php echo isset($_SESSION['webhipster_ask']['headline']) ?
$_SESSION['webhipster_ask'] ['headline'] : ''; ?>"
tabindex="1" size="20" name="headline" /></div>
我是在 php 中使用 SESSION 的新手,所以我的问题是:
有没有一种更简单的方法可以在不使用上述 cookie 的情况下实现这一点? 或者我在上面提到的代码中做错了什么?
【问题讨论】:
-
将所有内容保存在 $_SESSION 中。从这里您可以访问所有内容。或者您尝试使用 jquery cookie 插件并将所有内容保存在 cookie 中并通过 js 从 cookie 中读取数据
-
而将此类内容保存在 cookie 中的最佳方法是通过 json 字符串(数组到 Json)
-
@brandelizer 如果您在会话中保存,则不需要使用 JSON。您可以将数组直接放入
$_SESSION,PHP 会负责正确序列化它。 -
是的,你是对的。但我的意思是保存 cookie(已编辑)
标签: php forms session cookies session-cookies