Каков наилучший способ отображения сообщения об ошибке в той же форме входа - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть файл login.php и файл login_process.php.Моя форма входа в систему находится в первом файле, а проверка в другом.Я не знаю, как отображать сообщения об ошибках в форме входа в login.php после проверки в login_process.php.

Я исследовал и ниже, что я нашел:

(Примечание: у меня есть несколько сообщений об ошибках, и я использую выбор для отображения этих сообщений)

  1. Использование header('Location:login.php?submit=conError') для перенаправления в файл login.php и в этом файле используйте $_GET для получения запроса
  2. Используя header('Location:login.php#conError') для перенаправления на login.php и файл в этом файле, используйте location.hash в javascript для получения фрагмента
  3. Включив login_process.php в login.php и объявивнекоторые переменные и используйте PHP_SELF, чтобы использовать эти переменные для отображения ошибки
  4. Некоторые используют глобальную переменную сеанса $_SESSION['error']

Что лучше и безопаснее?Какой метод разработчик использует чаще всего?Может кто-нибудь помочь уточнить?Есть ли лучший способ, чем упомянутые выше (с точки зрения безопасности и оптимального времени выполнения)?

Ответы [ 2 ]

0 голосов
/ 24 ноября 2018

Я думаю, что отправка ошибки в URL проста, и она используется во многих приложениях.Сообщение об ошибке не является конфиденциальной информацией.Я думаю, что вы должны попробовать первый метод.

0 голосов
/ 24 ноября 2018

Я думаю, что вы должны использовать опцию сеанса, который является лучшим способом показа сообщений, так как большинство фреймворков, таких как codeigniter laravel и cms, как WordPress opecart, используют этот подход.

И ошибка отправки в URL не кажется хорошей длявнешний вид приложения.Если это не так для вас, тогда идите вперед и измените.

Но я думаю, что сообщение, которое мы хотим показать, почти включает в себя каждую страницу, поэтому лучше использовать сеанс, вам не нужно передавать его в URL.

Используйте сеанс для сохранения после отображения, используйте unset для удаления сообщения.

И с этим вы также гарантируете избавление от бремени различных имен переменных для сообщения на каждой странице.У вас есть одна переменная сеанса, которая сделает это для всего вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...