我在一个页面上有三种不同的形式。每个表单的数据将输入到不同的表中。对于我创建的第一个,我使用以下if
语句将数据插入表中:
if ( $_SERVER['REQUEST_METHOD'] === 'POST' ) {
$band_name = $_POST['bandname'];
$band_website = $_POST['website'];
$band_descrip = $_POST['description'];
query(
"INSERT INTO bands(bandname, website, description) VALUES(:bandname, :website, :description)",
array('bandname' => $band_name, 'website' => $band_website, 'description' => $band_descrip),
$conn
);
} else {
$status = "Fill out the form";
}
我假设我需要创建三个不同版本的
if
语句,每种形式一个。如何指定提交的表格? 最佳答案
由于提交表单时,仅提交表单标记中的数据,因此您可以通过使用某种方式标识表单来检查哪种表单。我通常使用提交按钮名称来检查表单。您可以使用任何$_POST
变量,只要您仅将其用于一种形式即可。
<form method="post">
<input type="text" name="form1_text" />
<input type="submit" name="form1_submit" value="Submit" />
</form>
<form method="post">
<input type="text" name="form2_text" />
<input type="submit" name="form2_submit" value="Submit" />
</form>
<?php
if(isset($_POST['form2_submit'])) {
// Handle Form 2
}else if(isset($_POST['form1_submit'])) {
// Handle Form 1
}
?>
有关Web浏览器应如何处理表单的更多信息,可以查看W3.org上的HTML文档-Forms in HTML documents。这说明了什么数据发送到服务器以及如何选择/确定该数据。