请看一下网站界面
我只能通过点击两个提交<button>
来插入这些数据。我希望只使用一个提交<button>
来提交这些数据两次。
for
循环这个<form>
<?php
for($x=1; $x<=2; $x++)
{
?>
<div class="col-lg-6">
<label>Passenger <?php echo $x ?> </label>
<form role="form" method='post'>
<div class="form-group">
<label>Title</label>
<label class="radio-inline">
<input type="radio" name="gander" value="Mr" checked>Mr
</label>
<label class="radio-inline">
<input type="radio" name="gander" value="Ms">Ms
</label>
</div>
<div class="form-group">
<label>Enter name of Passenger</label>
<input class="form-control" name='name'>
</div>
<div class="form-group">
<label>Enter Passenger Id <?php echo $x ?></label>
<input class="form-control" placeholder="960529-01-6925" name='ic'>
</div>
<button type="submit" class="btn btn-default" name="addbtn" method="post">Submit Button</button>
</form>
</div>
<?php
}
?>
这是isset按钮代码
<?php
if(isset($_POST["addbtn"]))
{
$ganderphp = $_POST["gander"];
$namephp = $_POST["name"];
$icphp = $_POST["ic"];
$sql = "INSERT INTO `passenger_data`(`pass_gender`,`pass_name`,`pass_ic`,`Username`) VALUES ('$ganderphp','$namephp','$icphp','$username')";
if (mysqli_query($conn, $sql)) {
echo $sql;
}else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
}
?>
不是用户友好的,因为用户只能首先在其中一个表单上提交数据。我确实试过把提交按钮从循环中拿出来,但它不起作用。我需要一个解决方案,使用户可以只提交一次所有这些数据。
基于一些研究,也许array[]和每个都可以做到这一点,但我只是不知道如何使用它。
感谢您的任何回答。
首先,将<form>
和<button>
元素提交到for
循环之外,然后像这样更改name
属性:
name="gander[<?php echo $x; ?>]"
name='name[<?php echo $x; ?>]'
和
name='ic[<?php echo $x; ?>]'
所以你的HTML表单应该是这样的:
<div class="col-lg-6">
<form role="form" method='post'>
<?php
for($x=1; $x<=2; $x++){
?>
<label>Passenger <?php echo $x ?> </label>
<div class="form-group">
<label>Title</label>
<label class="radio-inline">
<input type="radio" name="gander[<?php echo $x; ?>]" value="Mr" checked>Mr
</label>
<label class="radio-inline">
<input type="radio" name="gander[<?php echo $x; ?>]" value="Ms">Ms
</label>
</div>
<div class="form-group">
<label>Enter name of Passenger</label>
<input class="form-control" name='name[<?php echo $x; ?>]'>
</div>
<div class="form-group">
<label>Enter Passenger Id <?php echo $x ?></label>
<input class="form-control" placeholder="960529-01-6925" name='ic[<?php echo $x; ?>]'>
</div>
<?php
}
?>
<button type="submit" class="btn btn-default" name="addbtn" method="post">Submit Button</button>
</form>
</div>
提交后,像这样处理你的表单:
if(isset($_POST["addbtn"])){
for($x = 1; $x <= 2; ++$x){
$ganderphp = $_POST["gander"][$x];
$namephp = $_POST["name"][$x];
$icphp = $_POST["ic"][$x];
// construct the query and execute it
}
}
旁注:了解准备语句,因为现在您的查询容易受到SQL注入的影响。