2014-11-22 6 views
1

Я испытываю проблему с переключателями, присутствующими на моей странице, может ли кто-нибудь сказать мне, почему она не сохранит свой выбор после того, как пользователь нажал кнопку 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> 
+0

Что ваша проблема/вопрос сейчас? Вы хотите, чтобы эхо значения радиокнопки? Или вы хотите, чтобы радиокнопка все еще проверялась после отправки формы? – Rizier123

+0

Я бы хотел, чтобы они все еще проверялись после нажатия на кнопку отправки. – Oscar

+0

Надеюсь, мой ответ вам поможет! (Эхо для демонстрации) – Rizier123

ответ

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> 
+0

Хм, похоже, что он работает, но на моей странице подтверждения, на которую пользователь берется, после того, как они нажимают кнопку submit, это не эхо :(Любая идея, почему это может быть? Я могу обновить свой вопрос, если необходимо – Oscar

+0

@JamesPatterson проверить, что это в теге формы, и действие и метод attr установлены правильно! Также смотрите, если вы направляетесь на другую страницу! В противном случае покажите больше кода, где вы его используете – Rizier123

+0

Спасибо за ответ, я обновил свой вопрос с нужным (?) кодом, дайте мне знать, если этого достаточно, чтобы понять, почему рефлекторные требования не совпадают. – Oscar

Смежные вопросы