Отображаемое имя выбора переключателя при отправке формы - PullRequest
1 голос
/ 03 мая 2019

У меня есть форма в html с несколькими полями, одно из которых является переключателем. Когда я отправляю форму на страницу php, я хочу отобразить содержимое каждого поля и название выбора переключателя. Однако переключатель не отображает свойство name, но отображает «on», когда выбран, и ничего, когда нет, что я могу сделать, чтобы показать имя выбора?

это HTML-страница

<html>
<body>

    <form action="confirmdata.php" method="post">
        Name <input type="text" name="name"><br><br>
        Gender <input type="radio" name="gender" value="Male">Male<input type="radio" name="gender" value="Female">Female<br><br>
        Email <input type="text" name="email"><br><br>
        Inform email <input type="checkbox" name="inform"><br><br>
        <input type="submit">
    </form>
</body>
</html>

и это php-страница

<html>
<body>

    <?php
    foreach($_POST as $data){
        echo $data; ?>
        <br>
        <?php 
    }
    ?>
    <a href="registrationform.html">Return to registration form</a>
</body>
</html>

Ответы [ 2 ]

2 голосов
/ 04 мая 2019

Я думаю, что вы хотите отобразить выбранные значения после отправки формы.поэтому $_POST['gender'] содержит значение 'Male' или 'Female', поэтому после отправки формы добавьте условие, чтобы проверить, $gender является мужчиной или женщиной, затем используйте атрибут checked внутри тега переключателя.

Пожалуйста, выполните следующие простые шаги.

$gender = $_POST['gender'];
if ($gender == 'Male') {
?> 
<input type="radio" name="gender" value="Male" checked>Male
<?php
}
else {
    ?> <input type="radio" name="gender" value="Female" checked>Female<br><br>
    <?php
}
1 голос
/ 03 мая 2019

Полагаю, может быть, это поможет вам разобраться:

$html = '';
foreach ($_POST as $data) {
    $html .= '<input type="radio" name="gender" value="' . $data . '"> ' . $data . '<br>';
}
echo $html;

Кажется, у вас есть значения формы в $data. Когда вы пройдете через него, он заполнит значения обратно во входных радиоэлементах, которые у вас есть. Вам также может понадобиться добавить ключи к атрибутам имени:

$html = '';
foreach ($_POST as $key => $data) {
    $html .= '<input type="radio" name="' . $key . '" value="' . $data . '"> ' . $data . '<br>';
}
echo $html;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...