Мои данные, введенные в регистрационную форму, не добавляются в мою базу данных. Код ниже.
Первый набор 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";
}
Какие ошибки вы получаете? Если у вас еще не включен отчет об ошибках, используйте ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);.
Ваше действие - registrationUpload.php, поэтому вы просто подключаетесь к базе данных и больше ничего не делаете. Это должен быть сценарий вашего первого примера кода.
о боже, я не получаю никаких ошибок, и, пожалуйста, перестань говорить, если sql-инъекция не то, о чем мой вопрос. Моя ошибка в том, что когда я заполняю регистрационную форму, информация не отправляется в мою базу данных, как должно быть. Я займусь инъекцией, когда я заработаю. ни один ответ не решил мою проблему, хотя я ценю попытки помочь, мне просто нужно иметь возможность посмотреть мою базу данных и увидеть, что адрес электронной почты, имя пользователя, имя и т. д. были добавлены, когда я заполняю регистрационную форму






Ваша проблема - опечатка, отсутствует ):
if (mysqli_query($conn, $sql) {
должно быть:
if (mysqli_query($conn, $sql)) {
Вы могли обнаружить это с помощью IDE или приличного текстового редактора или проверив свои журналы.
Также вам нужно проверять ошибки с помощью mysqli_error() и mysqli_errno().
Наконец, вы широко открыты для SQL-инъекция. Вам нужно использовать подготовленные операторы, а не объединять переменные в свой запрос. Недостаточно просто экранировать переменные. См. Как я могу предотвратить SQL-инъекцию в PHP?.
Привет, Шон. 1. Вопрос не в phpmyadmin или xampp, это просто инструменты, которые вы можете использовать. 2. Нам нужно знать схему вашей БД, чтобы помочь вам в этом. 3. Вам действительно следует изучить подготовленные операторы, используя mysqli или PDO. Ваш код не защищен от SQL-инъекции. 4. Не делитесь своими учетными данными с БД онлайн.