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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
A.N.R.I
Отправлено: 05 Июня, 2009 - 12:08:03
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009  
Откуда: Вінницька обл.


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




Так как в основе jQuery или AJAX является JS, поэтому разместил здесьУлыбка. Если кто-то знает, где есть статьи, которые помогут мне, давайте ссылки, буду радУлыбка
Короче, делаю регистрацию, нужно после ввода логина или мыла, свериться нет ли таких данных в БД, если есть, то вывести сообщение (типа "пользователь с таким логином / электронной почтой существует") и не позволить регистрироваться. Это все должно быть без перезагрузки страницы с использованием jQuery или AJAX.


-----
 
 Top
Champion Супермодератор
Отправлено: 05 Июня, 2009 - 12:17:39
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Ссылка на аякс в самой первой теме раздела есть. Посмотри.
Если не можешь придумать алгоритм - рассказывай, где запор, что пробовал, что получилось. Всё по полочкам рассказывать не охота.
 
 Top
A.N.R.I
Отправлено: 05 Июня, 2009 - 12:35:16
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009  
Откуда: Вінницька обл.


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




Ну, во-первых, я хочу изучить JQuery / AJAX (для этого я и статью попросилУлыбка). Алгоритм должен быть такой: пользователь вводит данные, одновременно к БД улетают они и сверяются есть ли такие там, сервер дает ответ браузеру: если есть такие данные, то вывести пользователю и не дать зарегистрироваться, если нет, то позволить.
Далее, нарыл такой код:
list ($ param1, $ param2) = explode ("&",$_ SERVER [ 'QUERY_STRING']);
list ($ login, $ login_value) = explode ("=",$ param1);
list ($ email, $ email_value) = explode ("=",$ param2);
$ result2 = mysql_query ( "SELECT login, email FROM userlist WHERE login = '$ login_value' OR email = '$ email-value');
А теперь нужно составить некую условие, а потом уже вывести сообщение.

ПС Если есть ошибки в коде - извеняюсь, это я только так думаю и я не проверял еще это. Если я правильно думаю, то буду делать Улыбка
ППС: Извеняюсь за ошибки - мне Гугл переводчик помогалУлыбка


-----
 
 Top
Stierus Супермодератор
Отправлено: 05 Июня, 2009 - 12:40:40
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


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




Цитата:
Ну, во-первых, я хочу изучить JQuery / AJAX (для этого я и статью попросилУлыбка).
На сайте jquery.com вполне адекватные мануалы
 
My status
 Top
A.N.R.I
Отправлено: 05 Июня, 2009 - 12:43:01
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009  
Откуда: Вінницька обл.


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




Stierus пишет:
На сайте jquery.com вполне адекватные мануалы
Да, но проблема в том, что я плохо знаю англ. язык и мало что пойму Недовольство, огорчение Нету аналогичного руского ресурса?


-----
 
 Top
Stierus Супермодератор
Отправлено: 05 Июня, 2009 - 12:44:12
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


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




хочешь сказать, яндекс ссылок не дал ?
 
My status
 Top
A.N.R.I
Отправлено: 05 Июня, 2009 - 12:48:03
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009  
Откуда: Вінницька обл.


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




Stierus пишет:
хочешь сказать, яндекс ссылок не дал ?
Я юзайю Гугл Улыбка. А по теме, то есть немного, но то блоги, а мне лучше форум, где у кого-то можно спросить.


-----
 
 Top
A.N.R.I
Отправлено: 05 Июня, 2009 - 15:02:26
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009  
Откуда: Вінницька обл.


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




Champion, можеш помочь? Или искать другой форум?


-----
 
 Top
Champion Супермодератор
Отправлено: 05 Июня, 2009 - 15:16:37
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




A.N.R.I, обучать тебя и пересказывать то же, что написано в документации вряд ли кто-то станет и на другом форуме. Задавай конкретные вопросы.
-пользователь вводит логин и мыло
-ты аяксом шелшь запрос к БД и получаешь строку.
-анализируешь эту строку и если надо пишешь полдьзователю, что кнопку ОК нажимать не стоит, потому, что пользователь с такими данными уже есть.
Как послать запрос - написано в ссылке. Я не буду идти по той же ссылки или лазить в свои проекты, чтобы скопировать оттуда процесс посылки запро. Я его изначально оттуда брал.

На каком этапе у тебя не получается?
 
 Top
A.N.R.I
Отправлено: 05 Июня, 2009 - 18:54:38
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009  
Откуда: Вінницька обл.


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




Champion пишет:
A.N.R.I, обучать тебя и пересказывать то же, что написано в документации вряд ли кто-то станет и на другом форуме. Задавай конкретные вопросы.
-пользователь вводит логин и мыло
-ты аяксом шелшь запрос к БД и получаешь строку.
-анализируешь эту строку и если надо пишешь полдьзователю, что кнопку ОК нажимать не стоит, потому, что пользователь с такими данными уже есть.
Как послать запрос - написано в ссылке. Я не буду идти по той же ссылки или лазить в свои проекты, чтобы скопировать оттуда процесс посылки запро. Я его изначально оттуда брал.

На каком этапе у тебя не получается?


Почитал я про Аякс - мало толкового (возможно я еще не до шел до нужного).
Далее, проблемы при отображении результата (совсем ничего не показывает)
Код между
<head>


</head>
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript" src="jquery-1.3.2.js"></script>
  3. <script type="text/javascript" >
  4. function send_comments()
  5. {
  6.         var msg = $('#formID').serialize();
  7.         $('#view_comments').load('login2.php',msg);
  8. }
  9. </script>
  10.  
  11.  


код между <body></body>
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <form id="formID" class="formular" method="post">
  3. Введите логин: <input class="validate[required,custom[noSpecialCaracters],length[0,100]] text-input" type="text" name="firstname" id="firstname"/>
  4. <div id="view_comments"></div>
  5. Введите пароль: <input class="validate[required,length[6,100]] text-input" type="password" name="pass1" id="pass1"/>
  6. Потвердите пароль: <input class="validate[required,confirm[pass1]] text-input" type="password" name="pass2"/>
  7. Введите e-mail: <input class="validate[required,custom[email]] text-input" type="text" name="email" id="email" />
  8. Обо мне
  9. <textarea name="about" cols="45" rows="7" class="validate[length[0,255]] text-input"></textarea>
  10. <input name="sub" type="submit" value='Коментувати'onclick='send_comments()'  />
  11.  
  12.  </form>
  13.  
  14.  


login2.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. include ("bd.php");
  4.  
  5. list ($param1, $param2,$param3,$param4) = explode ("&",$_SERVER [ 'QUERY_STRING']);
  6.   list ($login, $login_value) = explode ("=",$param1);
  7.   list ($email, $email_value) = explode ("=",$param4);
  8.   $result = mysql_query( "SELECT login, email FROM userlist");
  9.  $myrow=mysql_fetch_array($result);
  10. $login_stop="Вибачте, але Логін зяйнятий іншим користувачем";
  11. $email_stop="Електронна адреса зяйнята іншим користувачем";
  12. if ($myrow['login']==$login_value)
  13.  {
  14. print iconv("utf-8","windows-1251",urldecode($login_stop));
  15.  }
  16.  if ($myrow['email']==$email_value)
  17.  {
  18. print iconv("utf-8","windows-1251",urldecode($email_stop));
  19.  }
  20.   ?>
  21.  
  22.  
  23.  


-----
 
 Top
Roler
Отправлено: 05 Июня, 2009 - 19:15:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008  
Откуда: Россия


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




Цитата:
Почитал я про Аякс - мало толкового (возможно я еще не до шел до нужного).

Есть толковое, очень даже есть.
 
 Top
ALEN
Отправлено: 05 Июня, 2009 - 21:42:27
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




Господи, вспоминаю молодые годы))))

Чтоб результат был везде один и тот же делаем следующее, сам код разбирайте сами:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. var request = null;
  3.  
  4. function createRequest() {
  5.     if (request != null)
  6.         return;
  7.  
  8.     try {
  9.         request = new XMLHttpRequest();
  10.     } catch (trymicrosoft) {
  11.         try {
  12.             request = new ActiveXObject("Msxml2.XMLHTTP");
  13.         } catch (othermicrosoft) {
  14.             try {
  15.                 request = new ActiveXObject("Microsoft.XMLHTTP");
  16.             } catch (failed) {
  17.                 request = null;
  18.             }
  19.         }
  20.     }
  21.  
  22.     if (request == null)
  23.         alert(" :-( ___ Error creating request object! ");
  24.  
  25. }
  26. // Подготовили среду
  27.  
  28.  
  29.  
  30. // Теперь отправляем php файлу запрос напроверку:
  31.  
  32. function subuser() {
  33.     createRequest();
  34.     var nameuser = adduser.user.value;
  35. if (/^[-А-Яа-яA-Za-z0-9_]{2,30}$/.test(txt)) {
  36.     var url = "user_add_proverka.php";
  37.     request.onreadystatechange = subuserenter;
  38.     request.open("POST", url, true);
  39.     request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  40.     request.send("user="+nameuser);
  41.  } else {
  42. // Недопустимые символы
  43. }
  44. }
  45.  
  46.  
  47. // Теперь обрабатываем ответ полученый от php скрипта
  48. // "user-not" - не разрешаем создавать такой логин
  49. //  "user-on" - разрешаем создавать такой логин
  50.  
  51. function subuserenter() {
  52. if (request.readyState == 4) {
  53. if(request.responseText=="user-on"){
  54. // Все ок!
  55. } else {
  56. // Пусть пользователь ищет новый логин!
  57. }}}
  58.  
  59.  

(Отредактировано автором: 05 Июня, 2009 - 21:44:06)

 
 Top
A.N.R.I
Отправлено: 06 Июня, 2009 - 18:25:07
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009  
Откуда: Вінницька обл.


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




Спасибо, но что нужно писать в файле user_add_proverka.php ? Где будет это писать и как будет работать запрет на регистрацию?


-----
 
 Top
ALEN
Отправлено: 06 Июня, 2009 - 18:30:05
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




A.N.R.I Там ты принимаешь имя которое предлагает пользователь и проверяешь, можно ли регистрироваться под таким именем или нет. Если можно, то ответ должен быть просто echo "user-on"; . Принять имя $_POST['user']
 
 Top
A.N.R.I
Отправлено: 06 Июня, 2009 - 19:18:20
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009  
Откуда: Вінницька обл.


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




ALEN пишет:
A.N.R.I Там ты принимаешь имя которое предлагает пользователь и проверяешь, можно ли регистрироваться под таким именем или нет. Если можно, то ответ должен быть просто echo "user-on"; . Принять имя $_POST['user']

Значит начинка файла:
PHP:
скопировать код в буфер обмена
  1. <?
  2. include ("bd.php");
  3.  
  4.    $result = mysql_query( "SELECT * FROM userlist WHERE login='$_POST[user]'");
  5.  $myrow=mysql_fetch_array($result);
  6. if (mysql_num_rows($result)>0)
  7.  {
  8. print "user-on";
  9.  }
  10.   ?>

Правильно?
И где должно выводится? Откуда берется значения, который ввел юзер?


-----
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB