monique liefhebber Ответов: 2

Я не могу спасти от входной формы база данных


I have some problems with saving my data to the data base, the connection with the database is fine, i can get data from the database, but i can't save it.
Iḿ a newby at programming, I looked all day .. what Iḿ I doing wrong??


Что я уже пробовал:

This my index.php

    <!DOCTYPE html>
    <html lang="en" dir="ltr">
      <head>
        <meta charset="utf-8">
        <title></title>
      </head>
      <body>

        <form action="incl/signup.incl.php" method="POST">
          <input type="text" name="first" value="Firstname">
          <br>
          <input type="text" name="last" value="Lastname">
          <br>
          <input type="text" name="email" value="E-mail">
          <br>
          <button type="submit" name="submit">Aanmelden</button>
        </form>
      </body>
    </html>
This my connection file dbh.incl.php

<?php
$dbservername = "localhost:3307";
$dbusername = "root";
$dbpassword = "";
$dbbase = "Lib002";

// Create connection
$conn = mysqli_connect($dbservername, $dbusername, $dbpassword, $dbbase);

// Check connection
//if (!$conn) {
//    die("Connection failed: " . mysqli_connect_error());
//}
//echo "Connected successfully";
 ?>
and this my signup page signup.incl.php

<?php
  include_once 'dbh.incl.php';

  $first = $_POST['first'];
  $last = $_POST['last'];
  $email = $_POST['email'];
  //$uid = $_POST['uid'];
  //$pwd = $_POST['pwd'];

  $sqli = "INSERT INTO users (user_first, user_last, user_email) VALUES ('$first', '$last', '$email');";
  mysqli_query($conn, $sql);

  header("Location: ../index.php?signup=succes");
?>

Richard Deeming

Ваш закомментированный код предполагает, что вы, возможно, рассматриваете возможность хранения паролей в обычном тексте. Не делай этого.

PHP: password_hash[^]
РНР: функцию password_verify[^]

monique liefhebber

да я знаю но я еще не там в своем исследовании с mysql

2 Ответов

Рейтинг:
2

Wendelius

Одна проблема заключается в том, что вы пытаетесь вставить в базу данных, но используете mysqli_query. Вместо этого используйте PHP: mysqli_execute - руководство пользователя[^]

Кроме того, основная проблема заключается в том, что вы связываете значения непосредственно с инструкцией SQL. Это оставляет вас широко открытыми для SQL-инъекция - Википедия[^] . Правильный способ сделать это-использовать параметры. Например, см. PHP: mysqli_stmt::bind_param - руководство пользователя[^]


Рейтинг:
0

ishan_shah

Вы не сохраняете данные в базе данных, потому что запрос хранится в $sqli, и вы упомянули $sql в параметре mysqli_query (). Итак, правильный код выглядит следующим образом :

$sqli = "INSERT INTO users (user_first, user_last, user_email) VALUES ('$first','$last', '$email');";
mysqli_query($conn, $sqli);


Вы также можете использовать этот код для сохранения данных в базе данных :

$result = mysqli_query($mysqli,"INSERT INTO users (user_first, user_last, user_email) VALUES ('$first', '$last', '$email')");