Задать вопрос
@maksim_fix
Junior PHP developer

Почему редиректит?

Здравствуйте. У меня есть страница входа на сайт, но если ввезти неправильно логин или пароль, или даже если данные не проходят регулярные выражения, то редиректит на blog.glezer.ru/login? . Ну и соотверственно пишет что страница не найдена . Вот ссылка blog.glezer.ru/login . Вот код обработки входа:
}else if($_POST['login_f']){
    login_valid();
    password_valid();
    if ( !mysqli_num_rows(mysqli_query($CONNECT, "SELECT `id` FROM `users` WHERE `login` = '$_POST[username]' AND `password` = '$_POST[password]'")) ){
        message('Аккаунт не найден');
    }
        $row = mysqli_fetch_assoc( mysqli_query($CONNECT, "SELECT * FROM `users` WHERE `login` = '$_POST[username]'") );
        foreach ($row as $key => $value)
		  $_SESSION[$key] = $value;
        go('profile');

}

Вот функции password_valid() и login_valid():
function password_valid() {
	if ( !preg_match('/^[A-z0-9]{7,30}$/', $_POST['password']) )
		message('Пароль указан неверно и может содержать 7 - 30 символов');
    
	$_POST['password'] = md5($_POST['password']);
}
function login_valid() {
	if ( !preg_match("/^[A-z0-9]{7,30}$/", $_POST['username']) ){
		message('Логин указан неверно и может содержать 7 - 30 символов');
    }
}

Если же введено всё правильно, то происходит вход и всё нормально. Никак не могу найти ошибку. Заранее спасибо
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
sabramovskikh
@sabramovskikh
Ну правильно все. Происходит submit формы. нужно его отменить
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽