使用会话保存文本框和单选按钮值


Using session to save textbox and radio button values

我有一个考试,我想做什么使用会话来保存每个值,无论是文本框或选择或单选按钮组的选择。因此,如果用户提交表单时遗漏了某些内容,从另一个页面返回表单时,它会保留输入的所有值并自动填充。我还希望将会话保持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" : "" ?>/>