Про $_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 ();.