在会话中签入单选按钮的问题


issue having radio button checked in session

我希望单选按钮在所有分页中保持选中状态。为此

我已经在页面顶部的分页中收集了检查值。

但它效果不佳。

这段代码有什么问题?

这就是我在会话中获取单选按钮的选定值的方式

session_start();
if(isset($_POST['answer'])) {
    $_SESSION['answer'] = $_POST['answer'];
}

这是我的php代码

<input type="radio"  name="answerswer" value="yes" <?php if(isset($_SESSION['answer'])=='yes') {echo "checked"; }?> />
<input type="radio"  name="answerswer" value="no" <?php if(isset($_SESSION['answer'])=='no') {echo "checked"; }?> />
<input type="radio"  name="answerswer" value="yes1" <?php if(isset($_SESSION['answer'])=='yes1') {echo "checked"; }?> />
<input type="radio"  name="answerswer" value="yes2" <?php if(isset($_SESSION['answer'])=='yes2') {echo "checked"; }?> />

它给了我错误(通知),就像答案是未定义的索引一样。

isset() 返回 true 或 false。 例如,您的 if 语句应该是:

if (isset($_SESSION['answer']) && $_SESSION['answer'] == 'yes')

尝试:

$values = array('yes', 'no', 'yes1', 'yes2');
foreach ( $values as $value ) {
  $checked = isset($_SESSION['answer']) && $_SESSION['answer'] == $value ? 'checked="checked"' : '';
  echo '<input type="radio"  name="answerswer" value="' . $value . '" ' . $checked . '/>';
}
<input type="radio"  name="answerswer" value="yes" <?php if($_SESSION['answer']=='yes') { ?> checked="checked" <?php }?> />
<input type="radio"  name="answerswer" value="no"  <?php if($_SESSION['answer']=='no') { ?> checked="checked" <?php }?> />
<input type="radio"  name="answerswer" value="yes1" <?php if($_SESSION['answer']=='yes1') { ?> checked="checked" <?php }?> />
<input type="radio"  name="answerswer" value="yes2" <?php if($_SESSION['answer']=='yes2') { ?> checked="checked" <?php }?> />
please use this html