我有一个考试,我想做什么使用会话来保存每个值,无论是文本框或选择或单选按钮组的选择。因此,如果用户提交表单时遗漏了某些内容,从另一个页面返回表单时,它会保留输入的所有值并自动填充。我还希望将会话保持2小时。我知道我可以使用以下内容:
表单页面:
<form method=post action="submit.php">
<input type=text value="" name="first" />
<input type=radio value="A" name="acct" /> A
<input type=radio value="B" name="acct" /> B
<input type=radio value="A" name="birt" /> A
<input type=radio value="B" name="birt" /> B
</form>
在submit.php
页面中提交表单时,我有以下内容:
<?php
session_start();
$_SESSION['textbox1'] = isset($_POST[first]) ? $_POST[first] : null;
$_SESSION['radiogroup1'] = isset($_POST[acct]) ? $_POST[acct] : null;
$_SESSION['radiogroup2'] = isset($_POST[birt]) ? $_POST[birt] : null;
** PLUS OTHER CODES I USE **
?>
上面应该启动一个会话并保存这些值,所以无论我是否退出页面,它都应该存储它。正确吗?
现在我的问题是:
- 如何使会话仅存活2小时
- 假设我退出页面或转到另一个页面,我回到FORM页面,我如何自动输入最初保存在会话中的值?
- 在我应该在这里输入什么我如何完成,如果用户选择了一个值填充它,否则离开它?
我真的很感谢你的帮助。
第一个答案:
SESSIONS
一直有效,直到用户关闭浏览器,所以你需要做一个这样的cookie:
setcookie("TestCookie", $value, time()+(3600*2)); //save for 2 hours
2答:
使用数组:$_COOKIE['session_name']
第三答:
就用null
吧。
简单:)
要将提交的数据添加到表单中,只需将会话输出到所有输入的值:
<input type=text value="<?php echo $_SESSION['textbox1'];?>" name="first" />
自动填充操作如下:
<input type=radio value="A" name="acct" <?php echo ($_SESSION['acct'] == A) ? "checked" : "" ?>/>