我有一个带有三个选择输入的表单。如果用户没有选择任何我希望在同一页面中显示错误的选项。用户必须插入三个选择输入中的任何一个,用户可以在所有输入中选择或只选择一个或两个或全部。如果不是我想显示错误。
我的代码:
<form action="booking.php" method="POST">
<h1>SINGLE ROOM</h1>
Number of Rooms:
<select name="singleroom">
<option selected="true" disabled="disabled">0</option>
<?php
foreach($singleroom as $room):
for($i=1;$i<=$room['maxRoom'];$i++){ ?>
<option value="<?php echo $i ?>"><?php echo $i ?></option>
<?php }
endforeach;
?>
</select>
<h1>DOUBLE ROOM</h1>
Number of Rooms:
<select name="doubleroom">
<option selected="true" disabled="disabled">0</option>
<?php
foreach($doubleroom as $room):
for($i=1;$i<=$room['maxRoom'];$i++){ ?>
<option value="<?php echo $i ?>"><?php echo $i ?></option>
<?php }
endforeach;
?>
</select>
<h1>TRIPLE ROOM</h1>
Number of Rooms:
<select name="tripleroom">
<option selected="true" disabled="disabled">0</option>
<?php
foreach($tripleroom as $room):
for($i=1;$i<=$room['maxRoom'];$i++){ ?>
<option value="<?php echo $i ?>"><?php echo $i ?></option>
<?php }
endforeach;
?>
</select>
<input type="submit" name="submit">
</form>
在booking.php我已经验证用户是否已完成要求。如果不是我想重定向到有错误的表单页面。 我不想使用get和session,因为它带来了一些错误。
答案 0 :(得分:0)
在 booking.php 中,在您获取表单数据的位置添加以下代码。
if(!isset($_POST['singleroom']) && !isset($_POST['doubleroom']) && !isset($_POST['tripleroom'])){
header("Location: your_form_page.php?error=1"); // redirect back to your page you are showing form.
}
在您显示表单的表单页面中使用:
if(isset($_GET['error']) && $_GET['error'] == 1){
echo "Please select atleast one field"; // your error message you want to show
}