Отправка данных из формы в базу данных mysql

Мои данные, введенные в регистрационную форму, не добавляются в мою базу данных. Код ниже.

Первый набор php находится в файле html с формой html. Последний включенный мной php-код - registrationUpload.php.

<?php 

include ('registrationUpload.php');
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$firstName = $_POST['firstName'];
$lastName = $_POST['lastName'];

if (!$_POST['submit']) {
    echo "all fields are required";
}
else {
    $sql = "INSERT into accounts (username, password, email, firstname, lastname)
        values ('$username','$password','$email','$firstName','$lastName')";

    if (mysqli_query($conn, $sql) {
        echo "data creation successful";
    }
    else {
        echo "something went wrong";
    }
}

?>


<form action = "registrationUpload.php" method = "POST">
<p>Username</p>
<input type = "text" name = "username" placeholder = "Enter Username">
<p>Password</p>
<input type = "password" name = "password" placeholder = "Enter Password">
<p>Email</p>
<input type = "email" name = "email" placeholder = "Enter Email Address">
<p>First name</p>
<input type = "firstName" name = "firstName" placeholder = "Enter your first name">
<p>Last name</p>
<input type = "lastName" name = "lastName" placeholder = "Enter your last name">
<input type = "submit" name = "submit" value = "Login"><br>

registrationUpload.php

$dbhost = "localhost";
$dbuser = "root";
$dbpass = "5091632u";
$db = "registrations_db";

$conn = new mysqli ($dbhost, $dbuser, $dbpass, $db);

if ($conn->connect_error){
    echo "connection failed";
}
else {
    "connection was successful";
}

Привет, Шон. 1. Вопрос не в phpmyadmin или xampp, это просто инструменты, которые вы можете использовать. 2. Нам нужно знать схему вашей БД, чтобы помочь вам в этом. 3. Вам действительно следует изучить подготовленные операторы, используя mysqli или PDO. Ваш код не защищен от SQL-инъекции. 4. Не делитесь своими учетными данными с БД онлайн.

Dharman 15.12.2018 20:17

Какие ошибки вы получаете? Если у вас еще не включен отчет об ошибках, используйте ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);.

Dave 15.12.2018 20:18

Ваше действие - registrationUpload.php, поэтому вы просто подключаетесь к базе данных и больше ничего не делаете. Это должен быть сценарий вашего первого примера кода.

ivion 15.12.2018 20:22

о боже, я не получаю никаких ошибок, и, пожалуйста, перестань говорить, если sql-инъекция не то, о чем мой вопрос. Моя ошибка в том, что когда я заполняю регистрационную форму, информация не отправляется в мою базу данных, как должно быть. Я займусь инъекцией, когда я заработаю. ни один ответ не решил мою проблему, хотя я ценю попытки помочь, мне просто нужно иметь возможность посмотреть мою базу данных и увидеть, что адрес электронной почты, имя пользователя, имя и т. д. были добавлены, когда я заполняю регистрационную форму

Sean Kelly 16.12.2018 03:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
4
28
1

Ответы 1

Ваша проблема - опечатка, отсутствует ):

if (mysqli_query($conn, $sql) {

должно быть:

if (mysqli_query($conn, $sql)) {

Вы могли обнаружить это с помощью IDE или приличного текстового редактора или проверив свои журналы.

Также вам нужно проверять ошибки с помощью mysqli_error() и mysqli_errno().

Наконец, вы широко открыты для SQL-инъекция. Вам нужно использовать подготовленные операторы, а не объединять переменные в свой запрос. Недостаточно просто экранировать переменные. См. Как я могу предотвратить SQL-инъекцию в PHP?.

Другие вопросы по теме