![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
xTr1m |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Здравствуйте, вопрос у меня такой. Есть страничка с текстовыми полями и кнопкой отправить. Есть php, который обрабатывает
нажатие этой кнопки. Проблема в том, что по нажатию кнопки страница перегружается, мне этого не нужно сразу, так как необходимо выполнить проверку заполненности полей. Я почитал и понял, что php тут не поможет, чем можно обработать нажатие кнопки (проверить заполненность полей, вывести какой-нибудь messagebox)? Заранее спасибо. |
|||
|
||||
Leoo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 270 Регистрация: 3.10.2005 Где: г. Обнинск Репутация: 1 Всего: 3 |
Поможет JavaScript. Т.е. делаешь кнопку не сабмит, а просто обычную, на onClick вешаешь функцию, которая проверить заполненность полей, а после отсабмитит форму.
Правда такой метод не поможет тем у кого отключен JavaScript. -------------------- Если вы не страдаете паранойей, это не значит, что они за вами не летят! |
|||
|
||||
lelik133 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 517 Регистрация: 5.2.2003 Где: Москва Репутация: 5 Всего: 14 |
обработать можно javascript`ом. Вариант первый вся логика по проверки реализуется на js. если введено корректно форма отправляется на сервер. Второй вариант AJAX, данные формы отправляются на сервер незаметно для пользователя, проверяются там php скриптом, результат проверки возвращается обратно на страницу.
|
|||
|
||||
xTr1m |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Спасибо. А вот javascript обычно включен? Просто пользователи сайта - люди не особо сведующие в таких делах
и если им высветится сообщение аля у вас не включен javascript - они выпадут в осадок и с сайта уйдут )) То есть мне нужен 100% способ =)) JS или AJAX? |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Уточнение.
Проверка на стороне клиента удобна, но недостаточна. На сервере данные следует проверять в любом случае. Как правильно тут заметили, яваскрипт можно элементарно отключить. Пооэтому лично я бы сделал сначала на стороне сервера, с перезагрузкой, а потом уже делал украшения на яваскрипте. Добавлено через 1 минуту и 37 секунд AJAX - это и есть JS. Это одно и то же. |
|||
|
||||
xTr1m |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Ну или как вариант мне подойдет, если будет произведена проверка на сервере, а потом вернется страница с ранее введенными данными (чтобы вновь не вбивать)
Такое возможно? Это сообщение отредактировал(а) xTr1m - 13.7.2009, 11:19 |
|||
|
||||
Leoo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 270 Регистрация: 3.10.2005 Где: г. Обнинск Репутация: 1 Всего: 3 |
Если JS отключен, то можно сделать проверку заполненности формы на сервере.
-------------------- Если вы не страдаете паранойей, это не значит, что они за вами не летят! |
|||
|
||||
xTr1m |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
такая проверка на сервере делается, но при этом страница перегружается, все исчезает и неопытный пользователь входит в ступор.
Остается только текст "мол вы забыли заполнить то-то, то-то". Я могу добавить кнопку (типа "назад" или "вернуться"), а какой (и как это сделать) будет обработчик возврата (причем, чтобы все поля были заполнены старыми значениями) |
|||
|
||||
Leoo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 270 Регистрация: 3.10.2005 Где: г. Обнинск Репутация: 1 Всего: 3 |
так передай все старый значения через GET и все. Т.е. пришли данные от формы, проверил их, если есть ошибка, то сформировал URL с сообщением об ошибке и заполненными данными.
-------------------- Если вы не страдаете паранойей, это не значит, что они за вами не летят! |
|||
|
||||
icewind |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 11.4.2009 Где: Ростов-на-Дону Репутация: 20 Всего: 20 |
А в чем проблема в случае ошибки валидации забить все данные назад в форму? На js валидация делается лишь в дополнение к серверной для удобства не более.
-------------------- ![]() |
|||
|
||||
ZTI831 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 10.6.2009 Репутация: нет Всего: нет |
Подобный вопрос обсуждался тут . |
|||
|
||||
xTr1m |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Проблема в том, что пхп вижу почти впервые. Направление дайте плз =)) Вот у меня есть форма с кнопкой submit, есть пхп файл, который обрабатывает переданные значения.
что значит сформировал и как вернуть страницу |
|||
|
||||
xTr1m |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
То есть. как я понял, в пхп файле при неправильно заполненных данных создается точно такая же форма? |
|||
|
||||
icewind |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 11.4.2009 Где: Ростов-на-Дону Репутация: 20 Всего: 20 |
Нет. Как ты генеришь страницу с формой при первом посещении? Или она статична?
-------------------- ![]() |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
icewind, почему нет?
xTr1m, если и форму, и обработчик сделать в одном файле, то будет совсем просто. Но можно и в разных. Главная идея в том, что при ошибках выводится та же самая форма, но заполненная. у полей input есть параметр value вот в него и вписывается введенное ранее значение. только его надо обработать перед этим функцией htmlspecialchars |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |