Моя простая HTML-форма PHP не вставляется в базу данных - PullRequest
0 голосов
/ 04 июня 2018

По какой-то причине эта форма не вставляется в мою базу данных.

HTML

<form action="../php/register.php" method="post">
    <div id ="personal-form">
        <h4><b>Personal Details:</b></h4>
        <hr>

        <div class="form-group">
            <label class="sr-only" for="first-name">First name</label>
            First Name

            <input type="text" name="firstname" placeholder="" 
                   class="form-control" id="firstname">

            <button type="submit" class="btn btn-next" id="submit">
                Submit
            </button>
        </center>
        </div>
    </div>
</form>

php / register.php

<?php
    include('connect.php');

    if(isset($_POST["submit"])) {
        $firstname = $_POST["firstname"];
        $stmt = $conn->prepare("INSERT INTO storeowners (firstname) VALUES 
(:firstname)");

        $stmt->bindParam(':firstname', $firstname);
        $stmt->execute();

        header("location: next.php");
    }
?>

Это connect.php

<?php
    $servername = "localhost";
    $username = "root";
    $password = "";

    try {
        $conn = new PDO("mysql:host=$servername;dbname=blaza", $username, 
$password);
        //set the PDO error mode to exception
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        echo "success";
    } catch(PDOException $e) {
        echo "Connection failed: " . $e->getMessage();
    }
?>

Когда я нажимаю на кнопку отправки, отображается php / register.php страница с сообщением success , которое является тем же сообщением в коде connect.php , если соединение с БД было успешным.Я не знаю, где проблема, потому что она не хранит имя в базе данных, и не было выдано никакой ошибки.

Ответы [ 3 ]

0 голосов
/ 04 июня 2018

Добавьте name="submit" к вашей кнопке.

<form action="../php/register.php" method="post">
      <div id ="personal-form">
        <h4><b>Personal Details:</b></h4>
        <hr>
        <div class="form-group">
           <label class="sr-only" for="first-name">First name</label>
              First Name
           <input type="text" name="firstname" placeholder="" class="form-control" id="firstname">
           <button name="submit" type="submit" class="btn btn-next" id="submit">Submit</button></center>
       </div>
     </div>
 </form>
0 голосов
/ 04 июня 2018

Вместо $ _POST ["submit"] добавьте это

if(isset($_POST["firstname"]))
0 голосов
/ 04 июня 2018
if(isset($_POST["submit"]))

У вас нет элементов управления формой с name=submit, поэтому это условие никогда не будет выполняться.

Вы безоговорочно подключаетесь к базе данных, но никогда не используете соединение для выполненияничего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...