0

我有一个考试,我想要做什么使用会话来保存每个值,无论是文本框还是选择或单选按钮组选择。因此,如果用户提交表单并遗漏了某些内容,从另一个页面返回表单,它会保留所有输入的值并自动填写。我还想让会话保持 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 页面,如何自动输入最初保存在会话中的值?
  • 我应该在此处输入的内容中如何完成,如果用户选择了一个值,请填写它,否则不要理会它?解决了

我真的很感激帮助。

4

3 回答 3

2

第一个答案:

SESSIONS在用户关闭他/她的浏览器之前保持活动状态,因此您需要制作这样的 cookie:

setcookie("TestCookie", $value, time()+(3600*2));  //save for 2 hours

第二个答案:

使用数组:$_COOKIE['session_name']

第三个答案:

就在null那里使用。

简单的 :)

于 2013-06-13T19:23:17.317 回答
1

要将提交的数据添加到表单中,只需将会话输出到所有输入的值:

  <input type=text value="<?php echo  $_SESSION['textbox1'];?>" name="first" />
于 2013-06-13T19:25:42.230 回答
1

要自动填充,请执行以下操作:

<input type=radio value="A" name="acct" <?php echo ($_SESSION['acct'] == A) ? "checked" : "" ?>/>
于 2013-06-13T19:26:09.783 回答