Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Живой вывод ошибок при неверно заполненных формах

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
teddy
Отправлено: 04 Августа, 2013 - 14:21:57
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




Здравствуйте. Скажите пожалуйста, каким образом можно реализовать живой вывод ошибок при неверно заполненных формах? Объясню конкретнее:

Есть у нас допустим некие формы для заполнения, предположим, что это скрипт регистрации пользователей. Если пользователь ввел логин, который уже существует, то нужно без перезагрузки страницы сообщить ему, что такой логин уже зарегистрирован. Как реализовать это на сервере и получить ответ без перезагрузки страницы я знаю, но тут один скользкий момент:

Я могу получить ответ от сервера только одним текстом, то есть получить obj.responseText и вывести его в какой нибудь DIV для ошибок. Но мне нужно сообщать об ошибке около каждого инпута. Например если логин уже существует, то рядом с инпутом, где вводится логин, вывести соответствующую ошибку. Как разбить на части результат ответа сервера и реализовать то, что я хочу? Чую мне нужен JSON, но увы не очень понимаю как его использовать...

Надеюсь я все доступно описал, просьба пнуть в нужном направлении, а ещё лучше какой нибудь пример привести ) Заранее спасибо
 
 Top
soffrick
Отправлено: 04 Августа, 2013 - 14:44:40
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




teddy пишет:
мне нужен JSON, но увы не очень понимаю как его использовать...

json.parse


столько вопросов(4) по одному AJAX, мда...
Спойлер (Отобразить)


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
teddy
Отправлено: 04 Августа, 2013 - 14:47:33
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




Слушай, у тебя проблемы? Ты один день нормальный, а другой *тут слово за которое могут забанить*

soffrick пишет:
json.parse

Ответ из разряда:

Вопрос: "Дядя, а что такое интерпретатор?"
Ответ: "Это то, что интерпретирует"

Вообщем не можешь помочь толком - не лезь плз... А выкидоны твои мне здесь не нужны ровно также как и оценка моих знаний
 
 Top
soffrick
Отправлено: 04 Августа, 2013 - 14:54:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




teddy пишет:
json.parse

Ответ из разряда:

Вопрос: "Дядя, а что такое интерпретатор?"
Ответ: "Это то, что интерпретирует"

Вообщем не можешь помочь толком - не лезь

не осилил метод parse? в гугле забанили?
teddy пишет:
Ты один день нормальный, а другой *тут слово за которое могут забанить*

так ты не задавай глупые вопросы
(Добавление)
teddy пишет:
Вообщем не можешь помочь толком - не лезь

не можешь понять программирование - не лезь. Всё не запомнишь, нужно понимать

(Отредактировано автором: 04 Августа, 2013 - 14:56:14)



-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
teddy
Отправлено: 04 Августа, 2013 - 15:00:28
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




soffrick
Здесь нет глупых вопросов. Для тех кто знает всегда кажется что всё просто. Это я по себе знаю. Раньше то что не понимал в упор сейчас для меня это просто а для некоторых это целая наука и так было фактически у всех, так что не надо мне тут.

Давай я сам буду решать куда мне лезть а куда нет ок?

Не нравлюсь - иди лесом. Не порть мне тему, не пиши сюда больше и вообще в те темы, где есть я. А если пишешь, не связывай свои сообщения каким либо образом со мной.

Вообщем есть вопросы - есть личка. Всё, удались отсюда. Уверен даже ты не знаешь грамотного решения моего вопроса. Ибо написал бы сразу и подробно(заметил за тобой такое, что если знаешь пишешь подробно, а если нет - тупо делаешь вид что знаешь но не помогаешь)

(Отредактировано автором: 04 Августа, 2013 - 15:01:16)

 
 Top
soffrick
Отправлено: 04 Августа, 2013 - 15:15:15
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




teddy пишет:
Уверен даже ты не знаешь грамотного решения моего вопроса. Ибо написал бы сразу и подробно(заметил за тобой такое, что если знаешь пишешь подробно, а если нет - тупо делаешь вид что знаешь но не помогаешь)

знаю
teddy пишет:
Ибо написал бы сразу и подробно(заметил за тобой такое, что если знаешь пишешь подробно

подробно - жирно будет
teddy пишет:
тупо делаешь вид что знаешь но не помогаешь)

вообще-то я не ты, чтобы лезть туда где не разбираюсь вообще или очень плохо
PHP:
скопировать код в буфер обмена
  1. $data = array(
  2.         "login" => "Занят",
  3.         "password" => "Короткий",
  4.         "email" => "Не корректен"
  5. );
  6. echo json_encode($data);

CODE (javascript):
скопировать код в буфер обмена
  1.                   var data = JSON.parse(xmlhttp.responseText);
  2.           for(val in data)
  3.                   {
  4.                         console.log(data[val] + "=" + val);
  5.                         document.getElementById("valid-"+val).innerHTML = data[val];
  6.                   }

CODE (html):
скопировать код в буфер обмена
  1.    <p>
  2. login<input type="text" id="login" value="qwe"/>
  3. <span id="valid-login"></span>
  4. </p>
  5.  
  6.    <p>
  7. password<input type="text" id="password" value="qwe"/>
  8. <span id="valid-password"></span>
  9. </p>
  10.  
  11.    <p>
  12. email<input type="text" id="email" value="qwe"/>
  13. <span id="valid-email"></span>
  14. </p>
  15.  
  16.    <input type="button" onclick="validate_Ajax()">

(Добавление)
teddy пишет:
Здесь нет глупых вопросов

дану ты брось

плохо залазить сначала на форум[, а потом на гугл] ([] - значит необязательно)

Цитата:
Давай я сам буду решать куда мне лезть а куда нет ок?

да без проблем, просто предупредил. может ты просто за зп гонишься?? как X-TRAIL
(Добавление)
teddy пишет:
soffrick пишет:
json.parse

Ответ из разряда:

Вопрос: "Дядя, а что такое интерпретатор?"
Ответ: "Это то, что интерпретирует"

ай ну ты индус, json.parse тебе не нравится (не кроссбраузерный), eval тебе тоже не угодил. тогда юзай магию грузчика Здорово

(Отредактировано автором: 04 Августа, 2013 - 15:25:43)



-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
DelphinPRO
Отправлено: 04 Августа, 2013 - 16:05:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Проверка логина.
Отправлешь ajax запрос на сервер, в ответ получаешь единственное число в responseText - 1-логин занят, 2-логин свободен. Больше тебе просто не нужно. Запрос вешаешь на onchange или onblur.
Для проверки e-mail таже отправляешь запрос, и также получаешь статус в ответ.
Чтобы на сервер знать что именно проверяется в данный момент, отправляй доп параметр с именем поля.

Это будет реально "живая форма".

Что тебе еще там нужно проверять в live режиме?
(Добавление)

Хотелось бы посоветовать пользователю soffrick быть более сдержанным

(Добавление)
Если все же хочется проверять на сервере форму целиком, то jQuery предоставляет кроссбраузерные методе $.parseJSON() и $.toJSON().

(Отредактировано автором: 04 Августа, 2013 - 16:15:27)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
teddy
Отправлено: 04 Августа, 2013 - 16:16:03
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




DelphinPRO
Спасибо, интересная идея Улыбка Я попробую так сделать... А по поводу jQuery $.parseJSON(); я уже в процессе обучения ) Благодарю за доступный ответ!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB