PHP 两种形式,一页
PHP two forms, one page
所以在学校里,我们在 PHP 中学习 OOP,对于我们的作业,我们需要使用 2 种形式。这是我第一次在一个页面中使用 2 个表单,我一直在尝试弄清楚如何检查正在提交的表单并创建相应的对象。
显然,在查看其他一些问题后,仅使用 if (!empty($_POST['SubmitButtonName']))
应该可以,但事实并非如此。
希望有人能帮助我并告诉我我做错了什么:)
PHP:
if (!empty($_POST['sportwgn']))
{
try
{
$sport->Merk = $_POST['merk'];
$sport->AantalPassagiers = $_POST['AantalPassagiers'];
$sport->AantalDeuren = $_POST['AantalDeuren'];
$sport->Stereo = isset($_POST['stereo']) ? true : false;
$sport->Save();
$succes= "Uw sportwagen is gereserveerd!";
}
catch( Exception $e)
{
$error = $e->getMessage();
}
}
if (!empty($_POST['vrachtwgn']))
{
try
{
$vracht->Merk = $_POST['merk'];
$vracht->AantalPassagiers = $_POST['AantalPassagiers'];
$vracht->AantalDeuren = $_POST['AantalDeuren'];
$vracht->MaxLast = $_POST['MaxLast'];
$vracht->Save();
$succes= "Uw vrachtwagen is gereserveerd!";
}
catch( Exception $e)
{
$error = $e->getMessage();
}
}
表格:
<form action="" method="post">
<label for="merk">merk</label>
<input type="text" id="merk" name="merk">
<br>
<label for="AantalPassagiers">Aantal passagiers</label>
<input type="number" min="2" max="4" id="AantalPassagiers" name="AantalPassagiers">
<br>
<label for="AantalDeuren">Aantal deuren</label>
<input type="number" min="1" max="5" id="AantalDeuren" name="AantalDeuren">
<br>
<label for="stereo">Stereo?</label>
<input type="checkbox" name="stereo" id="stereo" value="stereo"><br>
<br></div><div class="box">
<button type="submit" name="sportwgn">Reserveer</button></div>
</form>
</div>
</div>
<div id="container">
<h1 class="box">Reserveer een Vrachtwagen!</h1>
<div id="content">
<form action="" method="post">
<label for="merk">merk</label>
<input type="text" id="merk" name="merk">
<br>
<label for="AantalPassagiers">Aantal passagiers</label>
<input type="number" min="2" max="4" id="AantalPassagiers" name="AantalPassagiers">
<br>
<label for="AantalDeuren">Aantal deuren</label>
<input type="number" min="1" max="5" id="AantalDeuren" name="AantalDeuren">
<br>
<label for="MaxLast">Max last</label>
<input type="number" min="1" max="5" id="MaxLast" name="MaxLast"><br>
<br></div><div class="box">
<button type="submit" name="vrachtwgn">Reserveer</button></div>
</form>
您可以使用 if(isset($_POST['buttonName']))
检查它是否在 post 值中。
由于您的表单 post 在同一页面上 (...action=""...) 通过提交按钮将 php 端的代码分成两个操作。
对于带有
的表格
<button type="submit" name="sportwgn">Reserveer</button></div>
使用
if(isset($_POST['sportwgn'])) {
// your code
}
和
<button type="submit" name="vrachtwgn">Reserveer</button></div>
使用
if(isset($_POST['vrachtwgn'])) {
// your code
}
使用 action
属性将表单提交到不同的目的地。
<form action="firstForm.php" method="post">
...
</form>
<form action="secondForm.php" method="post">
...
</form>
并创建 2 个文件来处理表单发布。
所以在学校里,我们在 PHP 中学习 OOP,对于我们的作业,我们需要使用 2 种形式。这是我第一次在一个页面中使用 2 个表单,我一直在尝试弄清楚如何检查正在提交的表单并创建相应的对象。
显然,在查看其他一些问题后,仅使用 if (!empty($_POST['SubmitButtonName']))
应该可以,但事实并非如此。
希望有人能帮助我并告诉我我做错了什么:)
PHP:
if (!empty($_POST['sportwgn']))
{
try
{
$sport->Merk = $_POST['merk'];
$sport->AantalPassagiers = $_POST['AantalPassagiers'];
$sport->AantalDeuren = $_POST['AantalDeuren'];
$sport->Stereo = isset($_POST['stereo']) ? true : false;
$sport->Save();
$succes= "Uw sportwagen is gereserveerd!";
}
catch( Exception $e)
{
$error = $e->getMessage();
}
}
if (!empty($_POST['vrachtwgn']))
{
try
{
$vracht->Merk = $_POST['merk'];
$vracht->AantalPassagiers = $_POST['AantalPassagiers'];
$vracht->AantalDeuren = $_POST['AantalDeuren'];
$vracht->MaxLast = $_POST['MaxLast'];
$vracht->Save();
$succes= "Uw vrachtwagen is gereserveerd!";
}
catch( Exception $e)
{
$error = $e->getMessage();
}
}
表格:
<form action="" method="post">
<label for="merk">merk</label>
<input type="text" id="merk" name="merk">
<br>
<label for="AantalPassagiers">Aantal passagiers</label>
<input type="number" min="2" max="4" id="AantalPassagiers" name="AantalPassagiers">
<br>
<label for="AantalDeuren">Aantal deuren</label>
<input type="number" min="1" max="5" id="AantalDeuren" name="AantalDeuren">
<br>
<label for="stereo">Stereo?</label>
<input type="checkbox" name="stereo" id="stereo" value="stereo"><br>
<br></div><div class="box">
<button type="submit" name="sportwgn">Reserveer</button></div>
</form>
</div>
</div>
<div id="container">
<h1 class="box">Reserveer een Vrachtwagen!</h1>
<div id="content">
<form action="" method="post">
<label for="merk">merk</label>
<input type="text" id="merk" name="merk">
<br>
<label for="AantalPassagiers">Aantal passagiers</label>
<input type="number" min="2" max="4" id="AantalPassagiers" name="AantalPassagiers">
<br>
<label for="AantalDeuren">Aantal deuren</label>
<input type="number" min="1" max="5" id="AantalDeuren" name="AantalDeuren">
<br>
<label for="MaxLast">Max last</label>
<input type="number" min="1" max="5" id="MaxLast" name="MaxLast"><br>
<br></div><div class="box">
<button type="submit" name="vrachtwgn">Reserveer</button></div>
</form>
您可以使用 if(isset($_POST['buttonName']))
检查它是否在 post 值中。
由于您的表单 post 在同一页面上 (...action=""...) 通过提交按钮将 php 端的代码分成两个操作。 对于带有
的表格<button type="submit" name="sportwgn">Reserveer</button></div>
使用
if(isset($_POST['sportwgn'])) {
// your code
}
和
<button type="submit" name="vrachtwgn">Reserveer</button></div>
使用
if(isset($_POST['vrachtwgn'])) {
// your code
}
使用 action
属性将表单提交到不同的目的地。
<form action="firstForm.php" method="post">
...
</form>
<form action="secondForm.php" method="post">
...
</form>
并创建 2 个文件来处理表单发布。