![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Yarus |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.8.2006 Где: Киеff [UA] Репутация: нет Всего: нет |
Вот столкнулся с такой проблеммой:
мне нужно чтоб человек заполнял форму, которая отправлялась на заданый эмейл, такой скрипт у меня есть, я его настроил под себя и он работал... он выглядит так:
тот самый СЕНД, через который проходит действие выглядит так:
Все меня устраивало, но я решил сделать проверку полей, тоже нашел скрипт:
Вобщем когда я пытаюсь их скрестить, начинаютсья баги: исчезает проверка когда в этот скрипт вставляешь поле
все нормально (этот код используеться для отображения инфы уже в пришедшем не мейл письме) баги начинаються при смене имени, например <input name="fData[1]" , в сенде это значение ".$fData[$i]."\n";} пробовал его править, но так толком и не вышло ничего, т.к в ПХП не силен... Кто чем сможет помочь? В инете скрипт проверки лежит у меня тут: http://studcard.com.ua/links а скрипт отправки формы тут: http://studcard.com.ua/reg.html спасибо |
||||||||
|
|||||||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: нет Всего: 16 |
Я бы рекомендовал делать проверку на сервере.
Тем более, что в яваскрипте ты тоже, как я понимаю, не силен. |
|||
|
||||
Yarus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.8.2006 Где: Киеff [UA] Репутация: нет Всего: нет |
А как сделать на сервере??
да, я пока в этом новичек... |
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: нет Всего: 16 |
Тем более, что раз у тебя не работает яваскрипт, то и обращаться надо было в соответствующий раздел.
На пхп проверять точно так же. оператор условного перехода - if длина строки - функция strlen() поиск символа в строке - strpos() пустота переменной - empty() if (empty($_POST[fData][1])) $error[]="Обязательное поле "Имя" не заполнено."; Но, пожалуй, проще будет, действительно, на яваскрипте... |
|||
|
||||
Yarus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.8.2006 Где: Киеff [UA] Репутация: нет Всего: нет |
мм... сори, может тогда модератор переместит в ЯС раздел?
Модератор: переместил Это сообщение отредактировал(а) MoLeX - 15.2.2008, 15:29 |
|||
|
||||
Emm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 14.7.2007 Репутация: нет Всего: 1 |
яваскрипт отключаем и отправляем пустую форму ![]() |
|||
|
||||
Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: нет Всего: 42 |
Хорошая практика - проверять поля и на клиенте (javascript-ом) и на сервере (php).
Проверка на клиенте - для удобства пользователя и уменьшения нагрузки на сервер. Если пользователь случайно ошибся при вводе, он не должен ждать загрузки ответа от сервера только для того, чтобы узнать, что случайно ошибся в одном символе. А сервер в этом случае не будет тратить ресурсы на дополнительные нерезультативные запросы, без которых вполне может обойтись. С другой стороны, проверка на сервере тоже необходима. Во-первых, у кого-то может быть в броузере отключен javascript и проверка на клиенте не сработает. Во-вторых, помимо случайных ошибок, неправильный ввод может быть связан с поиском уязвимостей вашего скрипта. В таком случае данные вообще, скорее всего, будут отправляться не через броузер. Из соображений безопасности проверка на сервере необходима. Чтобы помочь разобраться с вашими конкретными ошибками, нужно видеть код. Именно в том виде, в котором Вы его написали, а не тот пример, с которого Вы копировали по аналогии -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
Emm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 14.7.2007 Репутация: нет Всего: 1 |
я так и делаю, и всем советую ![]() |
|||
|
||||
Akeem |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
Короче нужно исправить в пхп коде строку $this->Out.="if(!$this->Form.$Item.value) на $this->Out.="if($this->Form.$Item.value == "")
тогда будет все работать. У тебя же текстовые поля! Кто придумал сравнивать текстовые данные как булевские? После исправления запускаешь на генерацию снова код и будет тебе радость. П.С. В яваскрипте даже кажись есть спеиальная фукция для проверки на пустоту. Так и назвается IsEmpty(val) вот она и есть булевская -------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Сразу после формы ответа идут ссылки "А здесь смотрели?". Также в поиск достаточно вбить "валидация формы".
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Akeem |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
Ярус ты скачал скрипт, а разобратся в нем лень!
Так вот. у тебя не работает потому что не правильно задаешь имена текстовых полей. не правильно
правильно
Для ява скрипта переменная fData[20] расценивается как массив. твой сенд можно переписать с учетом такой особености.
и все будет работать. И кстате тот скрипт не оптимален. если почитать любую книжку по яваскрипту то там найдешь пример проверки пустых полей на форме. и пример будет написан через цикл.
Это сообщение отредактировал(а) Akeem - 16.2.2008, 12:29 -------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
||||||||
|
|||||||||
Yarus |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.8.2006 Где: Киеff [UA] Репутация: нет Всего: нет |
Благодаря Акиму вышло связать 2 скрипта, но, теперь при показе ошибки что поле не заполнено, страница обновляеться, тоесть все поля очищаються, как же сделать так чтоб не очищались?
вот сама страница
вот фор2.инк, на который ссылаеться
и собсно сенд:
как оно работает глянуть можно тут: http://studcard.com.ua/reg2.php ЗЫ: сори за каракули, лаги русского в Висте... |
||||||
|
|||||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
onsubmit="return CheckEmpty()"
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Yarus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.8.2006 Где: Киеff [UA] Репутация: нет Всего: нет |
Уря, оно заработало, НО, теперь начал неправильно работать скрипт отправки!
раньше на мыло приходило письмо типа: Вам поступил заказ Номер дисконтной карточки: 3134245354 Контактное лицо: В Телефон: 2008 Адрес: Троя Желаемое время замера: 02 Примечание: Дайте мне банан Tuesday 12th of February 2008 11:50:01 PM а теперь оно так: Вам поступил заказ :В В В 1 :В В В 2 :В В В 3 :В В В 4 :В В В 5 :В В В 6 :В В В 7 :В В В 8 :В В В 9 :В В В 10 :В В В 11 :В В В 12 :В В В 13 :В В В 14 :В В В 15 :В В В 16 :В В В 17 :В В В 18 :В В В 19 :В В В 20 :В В В 21 :В В В 22 Monday 18th of February 2008 02:55:30 PM |
|||
|
||||
Yarus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.8.2006 Где: Киеff [UA] Репутация: нет Всего: нет |
Понял что плуганул... убрал В В В из сенда и вернул [ ] в fName
НО, скрипт теперь не читает инфу из полей, тоесть есть фДата1 2 3... так оно и читает 1 2 3и все, а раньше было фдата[x] и оно было норм... но если сейчас писать в сенде ".$fData[$i]."\n";} вместо ".$fData.$i."\n";} то оно не отправляет и пишет ошибку скрипта... ЗЫЫ: это все-таки в разде ПХП надо) Это сообщение отредактировал(а) Yarus - 19.2.2008, 00:54 |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |