Загрузка...

Как исправить ошибку: Field email doesnt have a default value?

Тема в разделе Backend создана пользователем Dimi4da 16 мар 2023. 183 просмотра

  1. Dimi4da
    Dimi4da Автор темы 16 мар 2023 1 6 июл 2018
    При регистрации появляется такая ошибка:
    [IMG]

    Данные в бд заносятся за исключением пароля:
    [IMG]

    Код для регистрации:
    PHP
    <?php
    // Инициализация сессии
    session_start();

    // Подключение к базе данных
    include('db_connection.php');

    // Получение данных из формы
    $username = $_POST['username'];
    $password = $_POST['password'];
    $confirm_password = $_POST['confirm_password'];
    $email = $_POST['email'];

    if (!preg_match('/^[a-zA-Z]+$/', $username)){
    die("Ошибка: имя пользователя может содержать только латинские символы");
    }

    // Проверяем, что почта введена корректно
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Неправильный формат email";
    exit();
    }


    // Проверяем, существует ли пользователь с такой же почтой
    $query = "SELECT * FROM users WHERE email = '$email'";
    $result = mysqli_query($conn, $query);
    if (mysqli_num_rows($result) > 0) {
    echo "Пользователь с такой почтой уже существует!";
    exit();
    }

    // Проверка, есть ли уже пользователь с таким именем
    $sql = "SELECT * FROM users WHERE username='$username'";
    $result = mysqli_query($conn, $sql);

    if (mysqli_num_rows($result) > 0) {
    // Если пользователь уже существует, выводим ошибку
    echo "Пользователь с таким именем уже существует";
    } else {
    // Если пользователь не существует, добавляем его в базу данных и перенаправляем на страницу личного кабинета
    $sql = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
    if (mysqli_query($conn, $sql)) {
    $_SESSION['username'] = $username;
    header("Location: profile.php");
    } else {
    echo "Ошибка: " . mysqli_error($conn);
    }
    }
    // Записываем данные в базу данных
    $query = "INSERT INTO users (username, email, password)
    VALUES ('$username', '$email', '$hashed_password')";
    $result = mysqli_query($conn, $query);

    // Проверяем, была ли успешно добавлена запись в базу данных
    if ($result) {
    echo "Вы успешно зарегистрировались!";
    } else {
    echo "Ошибка при регистрации: " . mysqli_error($conn);
    }

    // Закрываем соединение с базой данных
    mysqli_close($conn);

    ?>
    Код для соединения с бд
    PHP
    <?php
    // Данные для подключения к базе данных
    define('SERVER','localhost');
    define('DB_NAME','bump');

    // Создание соединения с базой данных
    $conn= mysqli_connect(SERVER,'root','',DB_NAME);

    // Проверка соединения
    if (!$conn) {
    die("Ошибка соединения: " . mysqli_connect_error());
    }


    // Получение данных об уровне доступа
    function get_user_access_level($username) {
    global $conn;
    $query = "SELECT access_level FROM users WHERE username = '$username'";
    $result = mysqli_query($conn, $query);
    if ($result && mysqli_num_rows($result) > 0) {
    $row = mysqli_fetch_assoc($result);
    return $row['access_level'];
    }
    return false;
    }

    // Получения данных по почте
    function get_user_email($username) {
    global $conn;
    $query = "SELECT email FROM users WHERE username = '$username'";
    $result = mysqli_query($conn, $query);
    if ($result && mysqli_num_rows($result) > 0) {
    $row = mysqli_fetch_assoc($result);
    return $row['email'];
    }
    return false;
    }
    ?>
    Можете подсказать в чём ошибка и как исправить?
     
  2. iceficex
    iceficex 16 мар 2023 0 11 мар 2023
    Поставь в базе данных по умолчанию для email значение NULL
     
  3. Chrome_inactive2469950
    Chrome_inactive2469950 16 мар 2023 Заблокирован(а) 133 13 июл 2019
    задай значение для email - null
     
  4. Fedox
    Fedox 16 мар 2023 166 26 фев 2022
    Для email задай значение “null”
     
  5. Dimi4da
    Dimi4da Автор темы 16 мар 2023 1 6 июл 2018
    Всем большое спасибо
     
Загрузка...
Top