Задать вопрос
@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 символов');
    }
}

Если же введено всё правильно, то происходит вход и всё нормально. Никак не могу найти ошибку. Заранее спасибо
  • Вопрос задан
  • 74 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
sabramovskikh
@sabramovskikh
Ну правильно все. Происходит submit формы. нужно его отменить
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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