带有echo单选按钮值的未定义索引PHP

时间:2018-05-03 20:44:17

标签: php undefined-index

<h1> Hotel kamer reservering </h1>
<br><br>

<form method="POST">
<input name="radio" type="radio" value="éénpersoonskamer">éénpersoonskamer</input><br><br>
<input name="radio1" type="radio" value="tweepersoonskamer">tweepersoonskamer</input><br><br>
<input name="radio2" type="radio" value="ontbijt">ontbijt</input><br><br><br>
<input name="radio3" type="radio" value="lunch">lunch</input><br><br><br>
<input name="radio4" type="radio" value="diner">diner</input><br><br><br>
<input name="submit" type="submit" <value="Klik"></input>
</form>

<?php 

if(isset($_POST['submit']) and ! empty($_POST['submit'])) {
    if(isset($_POST['radio']) ||  ($_POST['radio1']) || ($_POST['radio2']) || ($_POST['radio3']) || ($_POST['radio4']) ) {
        $radio = $_POST['radio'] . '&nbsp' . $_POST['radio1'] . '&nbsp' . $_POST['radio2'] . '&nbsp' . $_POST['radio3'] . '&nbsp' . $_POST['radio4'];
        echo $radio;
    }
}
?>

我是PHP的初学者,我现在正在学习它,但我似乎无法丢失未定义的索引消息。如果我选择所有,那么它不会给出错误信息。有人可以解释我如何使用此代码修复此问题,以及我将来如何使用其他代码解决此问题。

我感谢您的时间。

3 个答案:

答案 0 :(得分:1)

您只需在第一个单选按钮的$_POST变量上调用if(isset($_POST['radio'], $_POST['radio1'], $_POST['radio2'], $_POST['radio3'], $_POST['radio4']) ) { $radio = $_POST['radio'] . '&nbsp' . $_POST['radio1'] . '&nbsp' . $_POST['radio2'] . '&nbsp' . $_POST['radio3'] . '&nbsp' . $_POST['radio4']; echo $radio; } 。您需要检查 all 是否设置了单选按钮。如果它们中的任何一个未设置,您将收到该警告。

{{1}}

答案 1 :(得分:0)

1)删除拼写错误“&lt;”在<input name="submit" type="submit" <value="Klik"></input>中的“值”之前 2)这是毫无意义的:"empty($_POST['submit']" 3)所有单选按钮应该具有相同的名称,而不是“radio1”,“radio2”等。如果您希望能够选择/取消选择多个选项,最好在此处使用复选框 4)您收到错误的唯一原因是因为您正在检查“radio”变量(如果它与isset($_POST['radio'])一起存在)和其他无线电输入一样,您只检查它们是否具有任何类型的值:{{ 1}},你应该在检查它们的值之前检查它们是否全部存在:)

答案 2 :(得分:-1)

更好的方法,因为我猜你真的在寻找收音机和复选框的组合,并且你想要输出选中的选项:

object.material.colorWrite = false;
object.material.depthWrite = false;