Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработать нажатие кнопки 
:(
    Опции темы
xTr1m
Дата 13.7.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 692
Регистрация: 9.2.2005
Где: Москва

Репутация: нет
Всего: 1



Здравствуйте, вопрос у меня такой. Есть страничка с текстовыми полями и кнопкой отправить. Есть php, который обрабатывает
нажатие этой кнопки. Проблема в том, что по нажатию кнопки страница перегружается, мне этого не нужно сразу, так как 
необходимо выполнить проверку заполненности полей. Я почитал и понял, что php тут не поможет, чем можно обработать
нажатие кнопки (проверить заполненность полей, вывести какой-нибудь messagebox)? Заранее спасибо.
PM MAIL WWW ICQ   Вверх
Leoo
Дата 13.7.2009, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 270
Регистрация: 3.10.2005
Где: г. Обнинск

Репутация: 1
Всего: 3



Поможет JavaScript. Т.е. делаешь кнопку не сабмит, а просто обычную, на onClick вешаешь функцию, которая проверить заполненность полей, а после отсабмитит форму.

Правда такой метод не поможет тем у кого отключен JavaScript.


--------------------
Если вы не страдаете паранойей, это не значит, что они за вами не летят!
PM MAIL WWW ICQ   Вверх
lelik133
Дата 13.7.2009, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 5
Всего: 14



обработать можно javascript`ом. Вариант первый вся логика по проверки реализуется на js. если введено корректно форма отправляется на сервер. Второй вариант AJAX, данные формы отправляются на сервер незаметно для пользователя, проверяются там php скриптом, результат проверки возвращается обратно на страницу.
PM ICQ   Вверх
xTr1m
Дата 13.7.2009, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 692
Регистрация: 9.2.2005
Где: Москва

Репутация: нет
Всего: 1



Спасибо. А вот javascript обычно включен? Просто пользователи сайта - люди не особо сведующие в таких делах
и если им высветится сообщение аля у вас не включен javascript - они выпадут в осадок и с сайта уйдут )) 

То есть мне нужен 100% способ =))   JS или AJAX? 
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 13.7.2009, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Уточнение. 
Проверка на стороне клиента удобна, но недостаточна. На сервере данные следует проверять в любом случае. Как правильно тут заметили, яваскрипт можно элементарно отключить.
Пооэтому лично я бы сделал сначала на стороне сервера, с перезагрузкой, а потом уже делал украшения на яваскрипте.

Добавлено через 1 минуту и 37 секунд
AJAX - это и есть JS. Это одно и то же.
PM MAIL   Вверх
xTr1m
Дата 13.7.2009, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 692
Регистрация: 9.2.2005
Где: Москва

Репутация: нет
Всего: 1



Ну или как вариант мне подойдет, если будет произведена проверка на сервере, а потом вернется страница с ранее введенными данными (чтобы вновь не вбивать)
Такое возможно?

Это сообщение отредактировал(а) xTr1m - 13.7.2009, 11:19
PM MAIL WWW ICQ   Вверх
Leoo
Дата 13.7.2009, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 270
Регистрация: 3.10.2005
Где: г. Обнинск

Репутация: 1
Всего: 3



Если JS отключен, то можно сделать проверку заполненности формы на сервере.


--------------------
Если вы не страдаете паранойей, это не значит, что они за вами не летят!
PM MAIL WWW ICQ   Вверх
xTr1m
Дата 13.7.2009, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 692
Регистрация: 9.2.2005
Где: Москва

Репутация: нет
Всего: 1



такая проверка на сервере делается, но при этом страница перегружается, все исчезает и неопытный пользователь входит в ступор.
Остается только текст "мол вы забыли заполнить то-то, то-то". Я могу добавить кнопку (типа "назад" или "вернуться"), а какой (и как это сделать)
будет обработчик возврата (причем, чтобы все поля были заполнены старыми значениями)
PM MAIL WWW ICQ   Вверх
Leoo
Дата 13.7.2009, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 270
Регистрация: 3.10.2005
Где: г. Обнинск

Репутация: 1
Всего: 3



так передай все старый значения через GET и все. Т.е. пришли данные от формы, проверил их, если есть ошибка, то сформировал URL с сообщением об ошибке и заполненными данными.


--------------------
Если вы не страдаете паранойей, это не значит, что они за вами не летят!
PM MAIL WWW ICQ   Вверх
icewind
Дата 13.7.2009, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: 20
Всего: 20



А в чем проблема в случае ошибки валидации забить все данные назад в форму? На js валидация делается лишь в дополнение к серверной для удобства не более.


--------------------
user posted image
PM MAIL Skype   Вверх
ZTI831
Дата 13.7.2009, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 10.6.2009

Репутация: нет
Всего: нет



Цитата

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

Подобный вопрос обсуждался тут .
PM   Вверх
xTr1m
Дата 13.7.2009, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 692
Регистрация: 9.2.2005
Где: Москва

Репутация: нет
Всего: 1



Проблема в том, что пхп вижу почти впервые. Направление дайте плз =)) Вот у меня есть форма с кнопкой submit, есть пхп файл, который обрабатывает переданные значения.
Цитата

так передай все старый значения через GET и все. Т.е. пришли данные от формы, проверил их, если есть ошибка, то сформировал URL с сообщением об ошибке и заполненными данными.

что значит сформировал и как вернуть страницу



PM MAIL WWW ICQ   Вверх
xTr1m
Дата 13.7.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 692
Регистрация: 9.2.2005
Где: Москва

Репутация: нет
Всего: 1



Цитата

Подобный вопрос обсуждался тут . 

То есть. как я понял, в пхп файле при неправильно заполненных данных создается точно такая же форма?
PM MAIL WWW ICQ   Вверх
icewind
Дата 13.7.2009, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: 20
Всего: 20



Нет. Как ты генеришь страницу с формой при первом посещении? Или она статична?


--------------------
user posted image
PM MAIL Skype   Вверх
Ипатьев
Дата 13.7.2009, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



icewind, почему нет? 

xTr1m, если и форму, и обработчик сделать в одном файле, то будет совсем просто.
Но можно и в разных. Главная идея в том, что при ошибках выводится та же самая форма, но заполненная. у полей input есть параметр value
вот в него и вписывается введенное ранее значение. только его надо обработать перед этим функцией htmlspecialchars


PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0928 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.