Если пользователь пытается войти в систему и не удается войти в систему, на странице должно появиться сообщение об ошибке.Я вижу два основных способа сделать это: использовать действие формы на странице HTML и в скрипте php, если информация для входа неверна, перенаправить с заголовком на страницу входа со значением $ _GET, например loginfailed.Страница входа будет проверять это значение, и если оно существует, то будет отображаться ошибка.
Второй способ, который я вижу, это вообще не использовать форму и вместо этого использовать JQuery для захвата нажатия кнопки отправки ииспользуйте AJAX, чтобы определить, произошла ли ошибка.Php-файл будет отображать состояние, а javascript-файл будет интерпретировать его, и, если он не авторизован, он будет использовать JQuery для добавления сообщения об ошибке на страницу.
Теперь я перейду к тому, что я чувствуюПлюсы и минусы каждого метода:
Метод 1 Плюсы:
- Очень упрощенно, без необходимости в JQuery, Javascript и AJAX.
- Состояние ошибки также отображается в URL-адресе.
Способ 1 Недостатки:
- Поскольку существует вызов заголовка, перенаправлениеявляется необходимым.Кроме того, страница входа должна быть перезагружена.Это небольшая страница, но, тем не менее, это перезагрузка.
- Сообщение о статусе отображается в URL.Это означает, что пользователи могут вводить сообщения о состоянии в URL-адрес и получать сообщения об ошибках на странице для ошибок, которые на самом деле не возникали.Это проблема?Может быть.Возможно, нет.
Способ 2 Плюсы:
- Так как он использует AJAX, нет необходимости загружать другой URL и, следовательно, не нужно никаких дополнительныхстраница загружена.
- Этот метод использует JQuery для обновления страницы с сообщением об ошибке, поэтому перенаправление не требуется.
- Состояние ошибки не отображается в URL.
Способ 2 Минусы:
- Гораздо сложнее, чем первое решение.
- Требуется внешний файл javascript, который необходимо загружать каждый раз при входе в систему.Доступ к странице осуществляется независимо от того, используется она или нет.
- Поведение кнопки отправки по умолчанию отменяется и аннулируется.Его единственное поведение связано с его взаимодействием с файлом javascript.
Что бы сделал SO?Я хотел бы избежать ответов, таких как «это зависит от того, сколько трафика будет иметь ваш сайт», если это вообще возможно.