-1

I have a HTML form which should post the data into an SQL database, No errors occur on submitting but the database does not receive the data.

        <?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>
Panda
  • 6,955
  • 6
  • 40
  • 55
Naomi
  • 1

1 Answers1

1

You didn't close VALUES (.... You should have:

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

And you should NEVER save passwords as plain-text. Use something like password_hash() -- http://php.net/password_hash

Peter van der Wal
  • 11,141
  • 2
  • 21
  • 29