TimurWiFi
@TimurWiFi

Сайт не загружается // Код 500, что делать?

Страница с регистрацией вдруг перестала загружатся!
Проведя многочисленные исследования, обратившись к высшим умам вселенной и покорив гору Олимп на марсе - я понял, что ошибку вызывает элемент "INSERT" (Подробности в коде)
Вот:

signup.php:
session_start();
    require_once 'connect.php';

    $login = str_replace(" ", "_", $_POST['login']);
    $email = $_POST['email'];
    $password = $_POST['password'];
    $password_confirm = $_POST['password_confirm'];
    $profile_image = $_FILES['profile_image']['tmp_name'];

    
    $check_user = mysqli_query($connect, "SELECT * FROM `users` WHERE `login` = '$login'");
    if(mysqli_num_rows($check_user) > 0){
        $_SESSION['message'] = "Такой логин уже существует!";
            header('Location: /register.php');
    }
if($login == "" && $email == ""){
        $_SESSION['message'] = "Заполните все поля!";
            header('Location: /register.php');
    
    }

    if($password == $password_confirm) {
        //conn...
    } 
      else{
        
        $_SESSION['message'] = 'Пароли не совпадают';
          header('Location: /register.php');
    }



    $password = md5($password);
    $rand11 = "../profile-images/".rand(0, 999999999999999999).".png";

// ошибку вызывает вот этот столбик
    mysqli_query($connect, "INSERT INTO `users`(`id`, `login`, `password`, `maker`, `premium`, `email`, `profile_image`) VALUES (NULL,'$login','$password','no','no','$email','$rand11')");
    
    

    copy($_FILES['profile_image']['tmp_name'], $rand11);
    
    $_SESSION['message'] = 'Регестрация прошла успешно';
header('Location: /login.php');

?>


connect.php:
$connect = mysqli_connect('localhost', 'root', 'root', 'timpixel_users');

    if (!$connect) {
    die('Error connect to DataBase');
    }


Пожалуйста, помогите и объясните, в чём проблема?((
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого

PHP Fatal error: Uncaught mysqli_sql_exception: Incorrect integer value: 'Timpixel2020' for column 'login' at row 1 in C:\OpenServer\domains\localhost\elements\signup.php:36
Вы определили колонку логин в базе данных как INTEGER (Целое число), но пытаетесь запихнуть туда строку

В любом случае всё плохо. Следует переписать используя "подготовленные выражения"
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
karabanov
@karabanov
Системный администратор
500 значит возникло необработанное исключение. Посмотри в error.log - там написано, что именно пошло не так.
Ответ написан
Ваш ответ на вопрос

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

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