тип ввода радио + текстовая область в скрипте php - PullRequest
0 голосов
/ 01 октября 2018

У меня есть проблема, которую я действительно не знаю, как исправить это, так как я не мог найти решение онлайн.У меня есть простая HTML-форма с несколькими переключателями, чтобы иметь множественный выбор, вот мой index.html

        <form action="process.php" method="POST">

         <fieldset>         
    <legend><font color="blue">Select your favorite color:</font></legend>           
 <input type="radio" name="color" value="Blue"/>Blue.<br/>          
 <input type="radio" name="color" value="Red"/>Red<br/>             
 <input type="radio" name="color" value="Green"/>Green<br/>
        </fieldset>

вот мой process.php

if(isset($_POST['color'])){

    $color = $_POST['color'];

        echo ("Your favorite color is: </br>" .$color);
}

else{

        echo ("You didn't select any color!");

}

Теперь я хочу добавить еще один выбор наHTML-форма, но это должна быть текстовая область, поэтому код должен выглядеть следующим образом:

         <fieldset>         
    <legend><font color="blue">Select your favorite color:</font></legend>           
 <input type="radio" name="color" value="Blue"/>Blue.<br/>          
 <input type="radio" name="color" value="Red"/>Red<br/>             
 <input type="radio" name="color" value="Green"/>Green<br/>
 <input type="textarea" name="color" placerholder="write your favorite color">
        </fieldset>

Проблема в том, что если пользователь выберет опцию «Зеленый», которая находится в переключателе, скрипт php не будетпосмотрите, и он оставит $ color в php пустым.Итак, мой вывод в основном: ваш любимый цвет: [пробел].Даже если я не выберу какую-либо радиокнопку и моя текстовая область пуста, я получаю тот же результат.Единственный раз, когда он дает мне правильный вывод, это когда я набираю текстовую область.Любое решение?Спасибо за совет

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Я исправил это, используя два других, если в моем php-коде:

<?php
 if(isset($_POST['color'])){

    $color = $_POST['color'];

        echo ("Your favorite color is: </br>" .$color);
}
else if (empty($_POST['description'])) {

    echo ("You did't select any color!");

}
else if (isset($_POST['description'])) {

    $description = $_POST['description'];

    echo ("Your favorite color is: </br>" .$description);

}

else{

        echo ("You didn't select any color!");

}
?>

Спасибо всем за помощь!

0 голосов
/ 01 октября 2018

измените имя своей текстовой области и получите описание, как показано ниже.и чтобы использовать textarea, вы должны использовать

 if(isset($_POST['color'])){

    $color = $_POST['color'];
    $description = $_POST['description'];

        echo ("Your favorite color is: </br>" .$color);
}

else{

        echo ("You didn't select any color!");

}

HTML Code

 <fieldset>         
    <legend><font color="blue">Select your favorite color:</font></legend>           
    <input type="radio" name="color" value="Blue"/>Blue.<br/>          
    <input type="radio" name="color" value="Red"/>Red<br/>             
    <input type="radio" name="color" value="Green"/>Green<br/>
    <textarea name="description" placeholder="write your favorite color"></textarea>
  </fieldset>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...