2016-01-22 49 views
0

這裏是輸入表單。當我按提交按鈕頁面只是重新加載,沒有錯誤或成功的消息。也沒有數據插入表中。我的代碼有什麼問題嗎?爲什麼我的代碼不插入值也不顯示任何錯誤?

<?php 
require_once 'classes/user.php'; 
$obj_user = new User(); 
if (isset($_POST['reg-btn'])) { 
    $message = $obj_user->save_user($_POST); 
} 
?> 

<div class="col-md-8"> 
    <h3 class="text-info text-center"><u>এখানে নিবন্ধন করুন</u></h3> 
    <?php if (isset($message)) { 
     echo $message; 
     unset($message); 
    } ?> 
    <hr/> 
    <form class="form-horizontal" role="form" action="" method="post"> 
     <div class="form-group"> 
      <label class="control-label col-md-3" for="first_name">নামের প্রথম অংশ</label> 
      <div class="col-md-9"> 
       <input type="text" name="first_name" id="first_name" class="form-control"> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="control-label col-md-3" for="last_name">নামের শেষ অংশ</label> 
      <div class="col-md-9"> 
       <input type="text" name="last_name" id="last_name" class="form-control"> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="control-label col-md-3" for="email_address">ইমেইল ঠিকানা</label> 
      <div class="col-md-9"> 
       <input type="email" name="email_address" id="email" class="form-control"> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="control-label col-md-3" for="user_name">ইউসারনেম</label> 
      <div class="col-md-9"> 
       <input type="text" name="user_name" id="last_name" class="form-control"> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="control-label col-md-3" for="password">পাসওয়ার্ড</label> 
      <div class="col-md-9"> 
       <input type="password" name="password" id="password" class="form-control"> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="control-label col-md-3" for="address">ঠিকানা</label> 
      <div class="col-md-9"> 
       <textarea class="form-control" name="address" id="address"></textarea> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="control-label col-md-3" for="city">শহর</label> 
      <div class="col-md-9"> 
       <input type="text" name="city" id="city" class="form-control"> 
      </div> 
     </div> 
     <div class="form-group"> 
      <div class="col-md-offset-3 col-md-9"> 
       <input type="submit" name="reg_btn" class="btn btn-success btn-block" value="নিবন্ধন সম্পন্ন"> 
      </div> 
     </div> 
    </form> 
</div> 

這裏是用戶類。我檢查了連接,它的確定。

<?php 

require_once 'db_connect.php'; 

class User { 

    private $pdo; 

    public function __construct() { 
     $obj_db = new Db_connect(); 
     $this->pdo = $obj_db->pdo; 
    } 

    public function save_user($data) { 

     try { 
      $query = "INSERT INTO tbl_user(first_name, last_name, email_address, user_name, password, address, city) VALUES(:first_name, :last_name, :email_address, :user_name, :password, :address, :city)"; 
      $stmt = $this->pdo->prepare($query); 
      $stmt->bindParam(':first_name', $data['first_name'], PDO::PARAM_STR); 
      $stmt->bindParam(':last_name', $data['last_name'], PDO::PARAM_STR); 
      $stmt->bindParam(':email_address', $data['email_address'], PDO::PARAM_STR); 
      $stmt->bindParam(':user_name', $data['user_name'], PDO::PARAM_STR); 
      $stmt->bindParam(':password', $data['password'], PDO::PARAM_STR); 
      $stmt->bindParam(':address', $data['address'], PDO::PARAM_STR); 
      $stmt->bindParam(':city', $data['city'], PDO::PARAM_STR); 
      $stmt->execute(); 
      $message = "আপনি সফলভাবে নিবন্ধন করেছেন"; 
      return $message; 
     } catch (PDOException $e) { 
      echo $e->getMessage(); 
     } 
    } 

} 
+0

什麼是reg-btn?似乎沒有設置..你也應該哈希密碼。 – chris85

+0

您的表單「action」屬性爲空:您是否在與html表單相同的位置處理傳入的發佈請求? – schellingerht

+0

@ chirs85你只能救我一命。發現我的錯。我在按鈕名稱中鍵入' - '而不是'_'。非常感謝。 –

回答

0

if (isset($_POST['reg-btn'])) {永遠不會觸發因爲$_POST['reg-btn']未設置。

如果有人懷疑爲什麼某些事情不會嘗試取出條件或給它一個else選項以查看它屬於哪種情況。從那裏,你可以使用var_dump看到正在發送的值是等

所以在這個代碼,你可以這樣做:

if (isset($_POST['reg-btn'])) { 
    $message = $obj_user->save_user($_POST); 
} else { 
    var_dump($_POST); 
} 

這將顯示你的名字有_,而不是- 。或

//if (isset($_POST['reg-btn'])) { 
    $message = $obj_user->save_user($_POST); 
//} 

這將允許您的形式來處理,所以你就會知道$_POST['reg-btn']沒有處理的某些原因。註釋退出路線稍長一些。

0

你的提交按鈕的名字是reg_btn和你正在檢查isset($_POST['reg-btn'])

替換此:

isset($_POST['reg-btn']) 

有:

isset($_POST['reg_btn']) 
相關問題