2015-03-13 177 views
0

因此在學校我們正在學習PHP中的OOP,爲了我們的任務,我們需要使用2種形式。這是我第一次在一個頁面中使用2個表單,並且我一直試圖弄清楚如何檢查提交的表單並創建相應的對象。 顯然,只是使用if (!empty($_POST['SubmitButtonName']))應該可以工作,但它沒有看到其他一些問題。 希望有人能幫助我,告訴我,我做錯了什麼:)PHP兩種形式,一頁

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> 
+0

您可以爲每個表單添加隱藏字段,並檢查該字段是否存在於$ _POST數組中,而不是您知道發送哪個表單; – Zaki 2015-03-13 09:11:54

+0

什麼是不工作。哪條線路可以到達。如果(isset($ _ POST ['sportwgn'])){ – 2015-03-13 09:12:55

+0

的結束標記。 – 2015-03-13 09:13:20

回答

1

由於您的表單發佈在同一頁面上(... 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 
} 
+0

這工作,應該可能想過那個哈哈,但非常感謝你! – yoshiMannaert 2015-03-13 09:22:52

+0

既然您發現有用它將是很好的投票。 :) – 2015-03-14 15:07:56

+0

我不能投票:)但儘快我可以我會:) – yoshiMannaert 2015-03-17 14:07:38

0

您可以使用if(isset($_POST['buttonName']))來檢查它是否是在後值。

0

使用action屬性提交形式不同DEST inations。

<form action="firstForm.php" method="post"> 
... 
</form> 

<form action="secondForm.php" method="post"> 
... 
</form> 

並創建2個文件來處理表單發佈。