Jykach
@Jykach
Самоучка, лезу туда в чем не разбираюсь)

Как выводить ошибку в форме авторизации при некорректно введенных данных?

Как доделать проверку логина и пароля при авторизации (должно выдавать ошибку - если данные введены некорректно)?
Имеется у меня такой вот код:
if(isset($_POST[login_admin]))
{
if($_POST[login] == $admins[login] || md5($_POST[password]) == $admins[password])
{
if(isset($_POST[me])) {$time = '900000000';} else {$time = '84000';}
setcookie('hash', md5($_POST[password]), time()+$time);
setcookie('login',$_POST[login], time()+$time);
header('Location: index.php');
}
}

Надо допилить фичу, что бы выдавало ошибку, если неверный логин или пароль.
Всем спасибо.
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 2
@ipokos
if($_POST[login] == $admins[login] || md5($_POST[password]) == $admins[password])

Если в этом участке $_POST[login] == $admins[login] сравниваете логин и в это пароль md5($_POST[password]) == $admins[password])
то условие должно быть не "или" (||), а "и"(&&)
т.е. для начала сделать так:
if($_POST[login] == $admins[login] && md5($_POST[password]) == $admins[password])


Ну а по сути вопроса:
if(isset($_POST[login_admin]))
{
    if($_POST[login] == $admins[login] && md5($_POST[password]) == $admins[password]){
    if(isset($_POST[me])) {$time = '900000000';} else {$time = '84000';}
        setcookie('hash', md5($_POST[password]), time()+$time);
        setcookie('login',$_POST[login], time()+$time);
        header('Location: index.php');
    }else{
        echo 'Error';
    }
}


ps. ну и было б неплохо почитать:
if else
password_hash - md5 совсем не актуально
Валидация данных от пользователя
Ответ написан
Комментировать
Jykach
@Jykach Автор вопроса
Самоучка, лезу туда в чем не разбираюсь)
У меня не получается сделать массив с ошибками. Подскажи как его сделать в данном случае?*
Ответ написан
Ваш ответ на вопрос

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

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