Про $_SESSION и error в PHP

помогите плиз, этот код имеет три условии, первый не работает, а остальные работают. То есть не работает именно та условия, где использую SESSION. Прошу подсказать что делаю неправильно...

$full_name = filter_var(trim($_POST['full_name']), FILTER_SANITIZE_STRING);
$login = filter_var(trim($_POST['login']), FILTER_SANITIZE_STRING);
$email = filter_var(trim($_POST['email']), FILTER_SANITIZE_STRING);
$password = filter_var(trim($_POST['password']), FILTER_SANITIZE_STRING);
$password_confirm = filter_var(trim($_POST['password_confirm']), FILTER_SANITIZE_STRING);

if (mb_strlen($login) < 5 || mb_strlen($login) > 90){
    $_SESSION['error']['login'] = "Անթույլատրելի լոգին";
    echo $_SESSION['error']['login'];
    exit();
} else if (mb_strlen($password) < 9 || mb_strlen($password) > 15) {
    echo "Անթույլատրելի գաղտնաբառ";
    exit();
} else if ($password !== $password_confirm){
    echo "Գաղտնաբառերը չեն համընկնում";
    exit();
}

$password = md5($password."dsaffdsa12541");

$mysql = new mysqli("localhost", "root", "", "armpoetry");
$mysql->query("INSERT INTO `users` (`full_name`, `login`, `email`, `password`) VALUES ('$full_name', '$login', '$email', '$password')");

$mysql->close();

header('Location: ../../auth.html');

Ответы (1 шт):

Автор решения: Евгений Тихии

Перед выполнением Ваших условий или же вначале скрипта советую указать mb_internal_encoding ("UTF-8");.

В вашем случае, проблема возникает до работы с базой, при проверке строк с помощью функций mb_strlen ();, так же заменить mb_strlen (); на iconv_strlen ();.

→ Ссылка