繁体   English   中英

提交后保留单选按钮选择 - PHP

[英]Retain radio button selection after submit - PHP

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

<?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
    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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM