Задать вопрос
@Zalik_Off

Не добавляются данные в таблицу phpmyadmin?

Суть в чем. Есть несколько файлов, код из них добавлю. Ввожу данные в форму, но в базу не добавляются. Все вроде написано без ошибок и пробовал через mysqli_error() искать ошибки, ничего не выдает. Но данные не заносятся.

Код формы:
<form action="vendor/signup.php" method="POST" enctype="multipart/form-data">
<!--                    first name-->
                    <label for="first_name" class="form-label">Ім'я <span class="text-danger">*</span></label>
                    <input name="first_name" type="text" id="first_name" class="form-control" aria-describedby="firstNameHelpBlock">
                    <div id="firstNameHelpBlock" class="form-text">
                        Введіть своє справжнє ім'я
                    </div>
<!--                    last name-->
                    <label for="last_name" class="form-label">Прізвище <span class="text-danger">*</span></label>
                    <input name="last_name" type="text" id="last_name" class="form-control" aria-describedby="lastNameHelpBlock">
                    <div id="lastNameHelpBlock" class="form-text">
                        Введіть своє справжнє прізвище
                    </div>
<!--                    email-->
                    <label for="email" class="form-label">Електронна пошта <span class="text-danger">*</span></label>
                    <input name="email" type="email" id="email" class="form-control" aria-describedby="emailHelpBlock">
                    <div id="emailHelpBlock" class="form-text">
                        Введіть адресу електронної пошти, до якої Ви маєте доступ
                    </div>
<!--                    phone number-->
                    <label for="number" class="form-label">Номер телефону <span class="text-danger">*</span></label>
                    <input name="phone" type="text"  id="number" class="form-control bfh-phone" data-format="+38 (ddd) ddd dd-dd">
<!--                    birthday-->
                    <label for="birthday" class="form-label">День народження <span class="text-danger">*</span></label>
                    <input name="birthday" type="date" id="birthday" class="form-control">
<!--                    town-->
                    <label for="town"class="form-label">Місто <span class="text-danger">*</span></label>
                    <input name="town" type="text" id="town" class="form-control">
<!--                    gender-->
                    <div class="gender py-4">
                        <p>Стать <span class="text-danger">*</span></p>
                        <div class="men_span radio_span mx-3">
                            <input type="radio" class="form-check-input" name="gender" value="men" id="men">
                            <label class="form-label gender_label men_label" for="men">Чоловічий</label>
                        </div>
                        <div class="women_span radio_span mx-3">
                            <input type="radio" class="form-check-input" name="gender" value="women" id="women">
                            <label class="form-label gender_label women_label" for="women">Жіночий</label>
                        </div>
                    </div>
<!--                    Password-->
                    <label for="pass" class="form-label">Придумайте пароль <span class="text-danger">*</span></label>
                    <input name="pass" type="password" id="pass" class="form-control">

                    <label for="repass" class="form-label">Повторіть пароль <span class="text-danger">*</span></label>
                    <input name="repass" type="password" id="repass" class="form-control">

                    <div class="submit d-flex align-items-center justify-content-center py-4">
                        <button type="submit" class="btn bg-primary text-white">Створити аккаунт</button>
                    </div>
                    <?php
                        if ($_SESSION['msg'] == 'Вы успешно зарегистрированы!') {
                            echo "<div class='text-center border border-success rounded text-success fw-bold mb-2'>" . $_SESSION['msg'] . "</div>";
                        }else if($_SESSION['msg']){
                            echo "<div class='text-center border border-danger rounded text-danger fw-bold mb-2'>".$_SESSION['msg']."</div>";
                        }
                    ?>
                </form>


Код подключения к бд:
<?php
    $connect = mysqli_connect('localhost', 'root', '', 'oprosnik');
    if(!$connect) die('Connection error'.mysqli_error()); 
?>


Обработчик формы:
<?php
    session_start();
    require_once 'connect.php';
    $firstName = $_POST['first_name'];
    $lastName = $_POST['last_name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $birthday = $_POST['birthday'];
    $town = $_POST['town'];
    $gender = $_POST['gender'];
    $password = $_POST['pass'];
    $repassword = $_POST['repass'];

    if ($firstName == "" || $lastName == "" || $email == "" || $phone == "+38 " || $birthday == "" || $town == "" || $gender == "" || $password == "" || $repassword == "") {
        $_SESSION['msg'] = 'Вы заполнили не все поля!';
        header('Location: ../registration.php');
    } else if ($password != $repassword) {
        $_SESSION['msg'] = 'Пароли не совпадают!';
        header('Location: ../registration.php');
    } else {
        mysqli_query($connect, "INSERT INTO `users` (`id`, `firstName`, `lastName`, `email`, `phone`, `password`, `birthday`, `gender`, `balance`, `avatar`) VALUES (NULL, '$firstName', '$lastName', '$email', '$phone', '$password', '$birthday', '$gender', '0', NULL)");
        $_SESSION['msg'] = 'Вы успешно зарегистрированы!';
    }
    
    ?>
  • Вопрос задан
  • 584 просмотра
Подписаться 1 Простой 6 комментариев
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Если после добавления данные не видны в программе phpmyadmin, то на это может быть три причины:
1. Код добавления вообще не вызывался.
2. При добавлении произошла ошибка.
3. Данные добавились, в одну базу, а результат смотрим в другой.

Причем все три пункта проверить может только сам программист, никакой дядя с форума за него это не сделает.
Дядя с форума может помочь только со вторым пунктом. Рассказав, как отслеживать ошибки правильно. Например, добавив в код следующие строчки:

<?php
# Настройка ошибок
# Для локального сервера
ini_set('display_errors', 1);
# Всегда
error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);


Ну и чтобы заранее избежать самых тупых ошибок, запросы должны быть подготовленными.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
KKOOLL
@KKOOLL
full stack-developer
Советую почитать, как работать с PDO.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы