|
|
|
| Здравствуйте, у меня есть проблема. Мне нужно сделать на сайте так, чтобы когда
пользователь вводил неправильную информацию, то на этой же web-страничке выводился
текст ошибки.
Например:
У пользователя есть 2 формы: логин и пароль, он вводит информацию(свои данные) и эта
информация летит по методу POST в обработчик, если всё правильно, то его пускают в его
«личный кабинет», если нет, то должна выводиться ошибка на той страничке, на которой он
вводил инфу(например index.php).
Я вроде бы нашёл выход, но столкнулся с проблемой. Когда обработчик находит
несовместимость инфы, то завершает работу и отправляет текст через POST ? но кнопка
submit сама нажиматься не хочет…)
If (условие)
{echo "<html><head><script type='text/javascript'>setTimeout(function(){document.getElementById
'errors_rating').submit()})</script><meta http-equiv='Refresh' content='0; URL=films.php?id=$id'></head><body><form action='films.php?id=$id' method='post' name='errors_rating'><input
name='error_rating' type='hidden' value='$error_rating'></form></bodu></html>";
exit();}
|
У меня 2 вопроса:
1. Как сделать автоматическое нажатие кнопки submit ?
2. Есть ли другие способы решения моей проблемы?) | |
|
|
|
|
|
|
|
для: Grends
(03.01.2012 в 21:10)
| | >2. Есть ли другие способы решения моей проблемы?)
Обычно обработчик располагают перед формой (как вариант, подключают при помощи include(), require()), если обработчик находит ошибки, он просто формирует их список в ошибках и дает форме снова отобразиться с вывод этих сообщений об ошибках. Если ошибок нет, он производит обработку, останавливает дальнейший вывод (в том числе и HTML-формы) и осуществляет редирект на нужную страницу при помощи функции header() и HTTP-заголовка Location. | |
|
|
|
|
|
|
|
для: cheops
(03.01.2012 в 21:37)
| | Спасибо за дельный совет, я так увлёкся решением проблемы с кнопкой, что даже не заметил этот вариант!) Но если выводить обработчик перед формой, то не сильно ли будет тормозить страничка, ведь сам код не маленький…? | |
|
|
|
|
|
|
|
для: Grends
(03.01.2012 в 22:02)
| | абсолютно не будет тормозить - это далеко не те объемы. А во вторых, почему будет тормозить страничка, если код проверки не на ней? (я так понимаю идет проверка на php).
И зачем обращаться к яваскрипту уже на этапе вывода ошибки. Или делай проверку сразу на яваскрипт и алертами оповещай об ошибках при попытке отправить форму с дальнейшим прерыванием отправки, или уже на сервере проверяй всю информацию и выводи что напроверял как посоветовал Cheops. | |
|
|
|