Почему не работает php код?

Есть код
<?php
$login = filter_var(trim($_POST['login']), FILTER_SANITIZE_STRING)

$name = filter_var(trim($_POST['name']), FILTER_SANITIZE_STRING)

$pass = filter_var(trim($_POST['pass']), FILTER_SANITIZE_STRING)

if(mb_strlen($login) < 5 || mb_strlen($login) > 50){
    echo "Недопустимая длина логина";
    exit();
} else if(mb_strlen($name) < 3  mb_strlen($name) > 12){
    echo "Недопустимая длина имени";
    exit();
}  else if(mb_strlen($pass) < 2  mb_strlen($pass) > 32){
    echo "Недопустимая длина пароля (от 2 до 15 символов)";
    exit();
}

$pass = md5($pass. "justdanceonlineofficial");
    $mysql = new mysqli('***', '***', '***', '***')
    $mysql->query("INSERT INTO `users` (`login`, `pass`, `name`) 
    VALUE('$login', '$pass', '$name')");

    $mysql->close();

    header('Location: /');
?>


Вместо '***' я пишу правильные данные, но ничего не работает, на сайте пишет ошибку 500. Я думаю тут 100% где-нибудь неправильно что-либо написано...
Вот я ввожу данные
5fba8253b9cb0687910492.png

а вот ошибка
5fba826815752963210415.png
Помогите
  • Вопрос задан
  • 346 просмотров
Пригласить эксперта
Ответы на вопрос 2
@FasterTans
Жесть какая-то
$login = filter_var(trim($_POST['login']), FILTER_SANITIZE_STRING)

$name = filter_var(trim($_POST['name']), FILTER_SANITIZE_STRING)

$pass = filter_var(trim($_POST['pass']), FILTER_SANITIZE_STRING)

В конце потеряли ;
} else if(mb_strlen($name) < 3  mb_strlen($name) > 12){

Добавте оператор, скорей всего &&
Чтоб получилось
} else if(mb_strlen($name) < 3 && mb_strlen($name) > 12){

Во втором else if тоже самое

$mysql = new mysqli('***', '***', '***', '***')
Опять упустили ;
Используйте нормальную IDE
Ответ написан
Комментировать
@gad969
нужно проверить работает ли strlen($login)
если да, то нужно просто установить расширение mbstring
sudo apt-get install php-mbstring
sudo phpenmod mbstring
и перезапустит сервер
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы