【问题标题】:Retain radio button selection after submit - PHP提交后保留单选按钮选择 - PHP
【发布时间】:2015-01-20 19:49:48
【问题描述】:

我的页面上出现单选按钮时遇到问题,谁能告诉我为什么在用户按下提交后它不会保留其选择?

<?php
session_start();
if(isset($_POST['submit']))
if(!empty($_POST['diet']))
?>

...

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

<strong>Dietary Requirements:</strong>
<br><br>
Vegetarian <input type="radio" name="diet" <?php if (isset($_POST['diet']) && $_POST['diet']=="Vegetarian") echo "checked";?> value="Vegetarian">
<br><br>
Vegan <input type="radio" name="diet" <?php if (isset($_POST['diet']) && $_POST['diet']=="Vegan") echo "checked";?> value="Vegan">
<br><br><br>

...

<input type="submit" id="submit" name="submit" value="Submit">

确认页面:

<b>Dietary Requirements: </b>
<br><br><?php if(isset($_SESSION['diet'])) echo $_SESSION['diet']; ?>

我在饮食要求下方有另一组单选按钮,它们在提交后可以正常工作并保留其值,所以我不明白为什么饮食要求单选按钮不起作用。

为了清楚起见,这里是功能单选按钮:

<strong> VIP area* : </strong> <br><br>
Yes (+£5) <input type="radio" name="vip" <?php if (isset($vip) && $vip=="Yes") echo "checked";?> value="Yes">
<br><span id="vip" class="error"><?php echo $vipErr;?></span><br>
No <input type="radio" name="vip" <?php if (isset($vip) && $vip=="No") echo "checked";?> value="No">
<br><br><br>

【问题讨论】:

  • 您现在有什么问题/疑问?您要回显单选按钮的值吗?还是您希望在提交表单后仍选中单选按钮?
  • 我希望他们在点击提交后仍然被检查
  • 希望我的回答对您有所帮助! (回声用于演示)

标签: php button submit radio retain


【解决方案1】:

我认为您正在寻找这样的东西:

<?php
    session_start();

    if(isset($_POST['submit'])) {
        if(!empty($_POST['diet']))
            $_SESSION['diet'] = $_POST['diet'];
    }

    if(isset($_SESSION['diet']))
        echo $_SESSION['diet']
?>


<form action="" method="post">
    <strong>Dietary Requirements:</strong>
    <br><br>
    Vegetarian <input type="radio" name="diet" <?php if (isset($_POST['diet']) && $_POST['diet']=="Vegetarian") echo "checked";?> value="Vegetarian">
    <br><br>
    Vegan <input type="radio" name="diet" <?php if (isset($_POST['diet']) && $_POST['diet']=="Vegan") echo "checked";?> value="Vegan">
    <br><br><br>
    <input type="submit" name="submit">
</form>

【讨论】:

  • 嗯,这似乎在我的确认页面上工作,但是在用户按下提交后被带到的确认页面上,它没有被回显:(知道为什么会这样吗?我可以更新我的问题,如果必要的
  • @JamesPatterson 检查这是否在表单标签和 attr.动作和方法设置正确!还要看看你是否直接到另一个页面!否则在你使用它的地方显示更多代码
  • 感谢您的回复,我已经用需要的(?)代码更新了我的问题,让我知道这是否足以解决为什么饮食要求没有得到回应。
  • @JamesPatterson 正如您在我的示例中看到的,您必须使用 $_POST 所以只需从我的答案中复制 2 行输入,它应该可以工作
  • 抱歉,本来是要在我的更新中包含这个,我已经应用了这两个输入行,但确认页面上仍然没有任何内容:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多