2016-04-23 2 views
-1

У меня есть HTML-форма, которая должна размещать данные в базе данных SQL. При отправке ошибок не возникает ошибок, но база данных не получает данные.Почему мои данные формы отправляются в мою базу данных?

 <?php 

include 'init.php'; 


//check if submit button is clicked 
if(isset($_POST['submit'])) { 

    $User_Username = $_POST['User_Username']; 
    $User_First_Name = $_POST['User_First_Name']; 
    $User_Surname = $_POST['User_Surname']; 
    $User_Email = $_POST['User_Email']; 
    $User_Password = $_POST['User_Password']; 


// prepare sql and bind parameters 
    $stmt = $pdo->prepare("INSERT INTO users (User_Username, User_First_Name, User_Surname,User_Password,User_Email) 
VALUES (:User_Username, :User_First_Name, :User_Surname, :User_Password, :User_Email"); 
    $stmt->bindParam(':User_Username', $User_Username); 
    $stmt->bindParam(':User_First_Name', $User_First_Name); 
    $stmt->bindParam(':User_Surname', $User_Surname); 
    $stmt->bindParam(':User_Email', $User_Email); 
    $stmt->bindParam(':User_Password', $User_Password); 
    $stmt->execute(); 
} 


?> 

<br> 
     <form action="" method="post"> 
      <label>Username :</label><br> 
      <input type="text" name="User_Username" id="User_Username" required="required" placeholder=""/><br /><br /> 

      <label>First Name :</label><br> 
      <input type="text" name="User_First_Name" id="User_First_Name" required="required" placeholder=""/><br /><br /> 

      <label>Surname :</label><br> 
      <input type="text" name="User_Surname" id="User_Surname" required="required" placeholder=""/><br /><br /> 

      <label>Email :</label><br> 
      <input type="email" name="User_Email" id="User_Email" required="required" placeholder=""/><br/><br /> 

      <label>Password :</label><br> 
      <input type="Password" name="User_Password" id="User_Password" required="required" placeholder=""/><br /><br /> 



      <br> 
      <input type="submit" value=" submit " name="submit"/><br /> 
     </form> 



</body> 
</html> 
+0

* «Ошибок при отправке не возникает» * - Это потому, что вы никогда не потрудились проверить их. –

ответ

1

Вы не закрыли VALUES (.... Вы должны иметь:

$pdo->prepare("INSERT INTO users (User_Username, A_Lot_more) 
       VALUES (:User_Username, :A_Lot_More)"); 
//            ^This one was missing 

И вы никогда не должны сохранять пароли как обычный текст. Используйте что-то наподобие password_hash() - http://php.net/password_hash

+0

Большое вам спасибо, это все исправлено, и поле пароля тоже было изменено. – Naomi