2016-07-07 121 views
1

我不確定是否因爲我真的很累或什麼;我似乎無法弄清楚爲什麼我無法用此代碼插入到我的數據庫中。插入數據庫問題pdo

<?php 
require 'mysqlcon.php'; 
?> 

<?php 


if(isset($_POST["submit"])){ 
try { 
$dbh = new PDO("mysql:host=$hostname;dbname=CSY2028",$username,$password); 

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line 
$sql = "INSERT INTO bookings (name, email) 
VALUES ('".$_POST["name"]."','".$_POST["email"]."')"; 
if ($dbh->query($sql)) { 
header("location: index.php"); 
echo "<script type= 'text/javascript'>alert('New Record Inserted Successfully');</script>"; 

} 
else{ 
echo "<script type= 'text/javascript'>alert('Data not successfully Inserted.');</script>"; 
} 

$dbh = null; 
} 
catch(PDOException $e) 
{ 
echo $e->getMessage(); 
} 

} 
?> 

我有以下表我已經簽了的ID,名稱都是一樣的&匹配。它只是沒有插入任何東西?

<?php 
require 'mysqlcon.php'; 
?> 

     <!-- Main --> 
      <section id="main" class="wrapper"> 
       <div class="container"> 
    <section> 
          <h3>Book Novelty Vehicle</h3> 
          <form action="bookingsql.php" method="post"> 
           <div class="row uniform 50%"> 
            <div class="6u 12u$(xsmall)"> 
             <input type="text" name="name" id="name" value="name" placeholder="Name" /> 
            </div> 
            <div class="6u$ 12u$(xsmall)"> 
             <input type="email" name="email" id="email" value="email" placeholder="Email" /> 
            </div> 
            <div class="6u 12u$(xsmall)"> 
             <input type="text" name="address" id="address" value="" placeholder="Address" /> 
            </div> 
            <div class="6u$ 12u$(xsmall)"> 
             <input type="text" name="pup" id="pup" value="" placeholder="Pick up point" /> 
            </div>         
            <div class="6u 12u$(xsmall)"> 
             <input type="text" name="phone" id="phone" value="" placeholder="Phone Number" /> 
            </div> 

            <div class="6u$ 12u$(xsmall)"> 
            <input type="text" name="event" id="event" value="" placeholder="Event Type" /> 
            </div> 

            <div class="12u$"> 
             <div class="select-wrapper"> 
              <select name="category" id="category"> 
               <option value="">- Novelty Vehicle Option -</option> 
               <option value="1">One</option> 
               <option value="1">Two</option> 
               <option value="1">Three</option> 
               <option value="1">Four</option> 
              </select> 
             </div> 
            </div> 
            <div class="6u$ 12u$(small)"> 
             <input type="checkbox" id="human" name="human"> 
             <label for="human">You are aware this is for booking novelty vehicles only?</label> 
            </div> 
            <div class="12u$"> 
             <textarea name="info" id="info" placeholder="Please give us any additional information, this will help us speed up your booking process." rows="6"></textarea> 
            </div> 
            <div class="12u$"> 
             <ul class="actions"> 
              <li><input type="submit" value="Book Vehicle" class="special" /></li> 
              <li><input type="reset" value="Reset" /></li> 
             </ul> 
            </div> 
           </div> 
          </form> 
         </section> 

       </div> 
      </section> 
+1

這很難說這是否是射擊在所有'如果(isset($ _ POST [ 「提交」])){。 ..}'因爲你在電子郵件輸入/ div後切斷了你的表單。我猜;由於沒有命名提交和/或缺少''標籤,它不會觸發。誰知道,只有你這樣做。 –

+1

*「我有下面的表格,我已經檢查過,ID的名字都是一樣的和匹配的。」* - 使用'id'屬性意味着javascript/jquery/ajax。如果你使用了這些,而你沒有包含它,那麼這是另一個猜測。如果沒有,那麼你不需要'id',除非你使用CSS。 –

+0

我已將我的整個表單編輯到我的文章中。 – ScaperExe

回答

4

無名提交

<input type="submit" value="Book Vehicle" class="special" /> 

和裏面什麼也沒有if(isset($_POST["submit"])){...}永遠不會火起來。

所以做:

<input name="submit" type="submit" value="Book Vehicle" class="special" /> 

另外,由於您使用的PDO,用事先準備好的聲明。你開放給SQL注入。

參考文獻:

+0

請參閱OP的問題下的(我的)其他意見。我發佈這個答案後,更多的發展。 –