Всем привет. Я недавно начал изучать PHP. Сейчас решился попробовать написать простенькую регистрацию. Проблема в том, что регистрация проходит успешно. А именно в БД создаются пустые поля. Мне просто интересно, есть ли причина этого в чем-то очевидном в MySQL, что я просто упускаю. HTML: <div class="card-back"> <div class="center-wrap"> <div class="section text-center"> <h4 class="mb-4 pb-3">Sign Up</h4> <div class="form-group"> <form action="/inc/signup.php" method="post" enctype="multipart/form-data"> <input type="text" name="login" class="form-style" placeholder="Your Login" id="login" autocomplete="off"> <i class="input-icon uil uil-user"></i> </div> <div class="form-group mt-2"> <input type="email" name="logemail" class="form-style" placeholder="Your Email" id="logemail" autocomplete="off"> <i class="input-icon uil uil-at"></i> </div> <div class="form-group mt-2"> <input type="password" name="logpass" class="form-style" placeholder="Your Password" id="logpass" autocomplete="off"> <i class="input-icon uil uil-lock-alt"></i> </div> <a href="/inc/signup.php" class="btn mt-4">send</a> <?php if ($_SESSION['message_error']){ echo '<p class="message_error">' . $_SESSION['message_error'] . '</p>'; } unset($_SESSION['message_error']); ?> <p class="mesage_error"> </p> PHP: <?php session_start(); require_once 'connect.php'; $login = $_POST['login']; $logemail = $_POST['logemail']; $logpass = $_POST['logpass']; mysqli_query($connect, "INSERT INTO `users` (`id`, `login`, `password`, `email`) VALUES (NULL, '$login', '$logemail', '$logpass')"); $_SESSION['message'] = 'Вы зарегистрированы.'; header('Location: ../index.html'); ?> --- Добавлено ---
1. Отправьте форму в тестовый обработчик. 2. Из данных в тестовом обработчике соберите вручную запрос к базе данных, и протестируйте его в phpMyAdmin. Удалите добавленные данные. 3. После чего создайте тестовое соединение с базой данных в скрипте php и передайте через него этот же запрос. Удостоверьтесь в phpMyAdmin, что он так же исполняется. 4. После чего соберите из использованного выше кода ваш скрипт. И снова протестируйте его.
Классика жанра: PHP: require_once 'connect.php'; $login = $_POST['login']; $logemail = $_POST['logemail']; $logpass = $_POST['logpass']; Где вы только находите эту хрень? Про SQL-инъекции тоже почитайте. --- Добавлено --- Шо прям безо всяких условий? Элементарное дублирование идентификационных данных Хто будет проверять? Про прочие сбои я уже молчу. Сделайте какую-нибудь обертку с prepare/execute, которая будет возвращать $affected_rows