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 :: использование AJAX и MySQL

 PHP.SU

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


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

> Без описания
кабанчик
Отправлено: 11 Января, 2014 - 23:40:40
Post Id


Новичок


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


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




Привет всем. В общем с Ajax не работал ниразу.

Но мне нужно кое что сделать.
Есть поле, где игрок вводит свой ник нейм, так вот мне нужно чтобы возле поля писалось , если ник существует в БД, то типа "Всё хорошо", если же нет, то "Всё плохо".

И чтобы страница не грузилась.

Вот кое что намудрил тута.
Но не работает почему-то.

Скрипт
PHP:
скопировать код в буфер обмена
  1. function toggle(id){if(document.getElementById(id).style.display == "none")
  2. {document.getElementById(id).style.display = "block"}
  3. else{document.getElementById(id).style.display = "none"}
  4. }
  5.  
  6. $(document).ready(function()
  7. {
  8. $("#account").change(function()
  9. {
  10. var account = $("#account").val();
  11. var msgbox = $("#status");
  12. if(account.length > 4)
  13. {
  14. $.ajax({
  15. type: "POST",
  16. url: "template/checkname.php",
  17. data: "account="+ account, success:
  18. function(msg){ $("#status").ajaxComplete(function(event, request){
  19. $("#status").html('<font color="green">Игрок существует</font>');
  20. });
  21. }
  22. });
  23. }
  24. else
  25. {
  26. $("#status").html('<font color="red">Игрока не существует</font>');
  27. }
  28. return false;
  29. });
  30. });

Сама форма
PHP:
скопировать код в буфер обмена
  1. <form class="bs-example form-horizontal" method="post" action="https://unitpay.ru/pay/1237-96628" enctype="utf-8">
  2.                  Игровая валюта: 1 рубль = 300 игровых донат рублей.
  3.                 <fieldset>
  4.                   <div class="form-group">
  5.                   <div class="col-lg-8" >
  6.                  <input class='form-control' onkeyup='Price();' id="rur" name="sum" size='16' placeholder='0 RUR.' type='text' >               
  7.                   </div>
  8.                   </div>
  9.                   <div class="form-group">
  10.                  <div class="col-lg-8">
  11.                <input class="form-control" id="total" type="text"disabled="">
  12.                  </div>
  13.                 </div>
  14.                <div class="form-group">
  15.                  <div class="col-lg-8">
  16.                  <input class="form-control" name="account" id="account" type="text" placeholder='Введите свой никнейм'>
  17.                  <span id="status"></span>
  18.                  </div>
  19.                 </div>
  20.                   <div class="form-group">
  21.                     <div class="col-lg-10 col-lg-offset-2">
  22.                      <input type="hidden" name="desc" value="Donate Legal Game">
  23.                       <button type="submit" class="btn btn-primary">Продолжить</button>
  24.                     </div>
  25.                   </div>
  26.                 </fieldset>
  27.               </form>

php файл, где запрос делается
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $db->connect();
  3. $accname = $_GET['account'];
  4. $accname = mysql_real_escape_string($accname);
  5. mysql_query("SELECT * FROM accounts WHERE nickname='$accname'");
  6. ?>
 
 Top
gefard
Отправлено: 12 Января, 2014 - 10:52:26
Post Id



Гость


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


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




кабанчик пишет:
Привет всем. В общем с Ajax не работал ниразу.

Но мне нужно кое что сделать.
Есть поле, где игрок вводит свой ник нейм, так вот мне нужно чтобы возле поля писалось , если ник существует в БД, то типа "Всё хорошо", если же нет, то "Всё плохо".

И чтобы страница не грузилась.

Вот кое что намудрил тута.
Но не работает почему-то.

Скрипт
PHP:
скопировать код в буфер обмена
  1. function toggle(id){if(document.getElementById(id).style.display == "none")
  2. {document.getElementById(id).style.display = "block"}
  3. else{document.getElementById(id).style.display = "none"}
  4. }
  5.  
  6. $(document).ready(function()
  7. {
  8. $("#account").change(function()
  9. {
  10. var account = $("#account").val();
  11. var msgbox = $("#status");
  12. if(account.length > 4)
  13. {
  14. $.ajax({
  15. type: "POST",
  16. url: "template/checkname.php",
  17. data: "account="+ account, success:
  18. function(msg){ $("#status").ajaxComplete(function(event, request){
  19. $("#status").html('<font color="green">Игрок существует</font>');
  20. });
  21. }
  22. });
  23. }
  24. else
  25. {
  26. $("#status").html('<font color="red">Игрока не существует</font>');
  27. }
  28. return false;
  29. });
  30. });

Сама форма
PHP:
скопировать код в буфер обмена
  1. <form class="bs-example form-horizontal" method="post" action="https://unitpay.ru/pay/1237-96628" enctype="utf-8">
  2.                  Игровая валюта: 1 рубль = 300 игровых донат рублей.
  3.                 <fieldset>
  4.                   <div class="form-group">
  5.                   <div class="col-lg-8" >
  6.                  <input class='form-control' onkeyup='Price();' id="rur" name="sum" size='16' placeholder='0 RUR.' type='text' >               
  7.                   </div>
  8.                   </div>
  9.                   <div class="form-group">
  10.                  <div class="col-lg-8">
  11.                <input class="form-control" id="total" type="text"disabled="">
  12.                  </div>
  13.                 </div>
  14.                <div class="form-group">
  15.                  <div class="col-lg-8">
  16.                  <input class="form-control" name="account" id="account" type="text" placeholder='Введите свой никнейм'>
  17.                  <span id="status"></span>
  18.                  </div>
  19.                 </div>
  20.                   <div class="form-group">
  21.                     <div class="col-lg-10 col-lg-offset-2">
  22.                      <input type="hidden" name="desc" value="Donate Legal Game">
  23.                       <button type="submit" class="btn btn-primary">Продолжить</button>
  24.                     </div>
  25.                   </div>
  26.                 </fieldset>
  27.               </form>

php файл, где запрос делается
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $db->connect();
  3. $accname = $_GET['account'];
  4. $accname = mysql_real_escape_string($accname);
  5. mysql_query("SELECT * FROM accounts WHERE nickname='$accname'");
  6. ?>

В PHP должно определяться существует игрок или нет
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo 'существует';

тогда аякс получит ответ и выведет его
а щас у вас кроме ответа сервера аякс ничего не получает
 
 Top
кабанчик
Отправлено: 12 Января, 2014 - 11:59:06
Post Id


Новичок


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


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




gefard пишет:

а щас у вас кроме ответа сервера аякс ничего не получает


ну напишите готовый код, пожалуйста)

(Отредактировано автором: 12 Января, 2014 - 12:01:23)

 
 Top
gefard
Отправлено: 12 Января, 2014 - 12:21:42
Post Id



Гость


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


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




кабанчик пишет:
gefard пишет:

а щас у вас кроме ответа сервера аякс ничего не получает


ну напишите готовый код, пожалуйста)

охохо, а самому ручками? куда копать сказали
 
 Top
кабанчик
Отправлено: 12 Января, 2014 - 13:22:13
Post Id


Новичок


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


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




gefard пишет:

охохо, а самому ручками? куда копать сказали


ну вот запрос сделал
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include('engine/database.php');
  3. $db = new DataBase;
  4. $db->connect();
  5. $accname = $_GET['account'];
  6. $accname = mysql_real_escape_string($accname);
  7. $sql = mysql_query("SELECT * FROM accounts WHERE nickname='$accname'");
  8. if($res = mysql_fetch_assoc($sql))
  9. {
  10.         echo 'аккаунт найден';
  11. }
  12. else
  13. {
  14.         echo 'аккаунт не найден';      
  15. }
  16. ?>
  17.  
  18.  

далее , как вывести в AJAX ?
 
 Top
caballero
Отправлено: 12 Января, 2014 - 13:48:03
Post Id


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


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


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




ну так код есть выше - в чем проблемма?


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
кабанчик
Отправлено: 12 Января, 2014 - 13:56:13
Post Id


Новичок


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


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




caballero пишет:
ну так код есть выше - в чем проблемма?


не знаю, ввожу данные в поле, то что должно писать, типа" акк существует" или "акка нету" не пишет, почему?
 
 Top
gefard
Отправлено: 12 Января, 2014 - 15:49:36
Post Id



Гость


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


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




так понятнее будет
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. metod=new XMLHttpRequest();
  3.     metod.onreadystatechange=function() {
  4.       if (metod.readyState==4 && metod.status==200)
  5. document.getElementById('status').innerHTML=metod.responseText;
  6.     }
  7.     metod.open('POST','template/checkname.php',true);
  8.     metod.setRequestHeader('Content-type','application/x-www-form-urlencoded');
  9.     metod.send('account='+account);

пиши место своего
CODE (htmlphp):
скопировать код в буфер обмена
  1. $.ajax({
  2.  
  3. type: "POST",
  4.  
  5. url: "template/checkname.php",
  6.  
  7. data: "account="+ account, success:
  8.  
  9. function(msg){ $("#status").ajaxComplete(function(event, request){
  10.  
  11. $("#status").html('<font color="green">Игрок существует</font>');
  12.  
  13. });
  14.  
  15. }
  16.  
  17. });
 
 Top
кабанчик
Отправлено: 12 Января, 2014 - 19:03:43
Post Id


Новичок


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


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




gefard пишет:
так понятнее будет
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. metod=new XMLHttpRequest();
  3.     metod.onreadystatechange=function() {
  4.       if (metod.readyState==4 && metod.status==200)
  5. document.getElementById('status').innerHTML=metod.responseText;
  6.     }
  7.     metod.open('POST','template/checkname.php',true);
  8.     metod.setRequestHeader('Content-type','application/x-www-form-urlencoded');
  9.     metod.send('account='+account);

пиши место своего
CODE (htmlphp):
скопировать код в буфер обмена
  1. $.ajax({
  2.  
  3. type: "POST",
  4.  
  5. url: "template/checkname.php",
  6.  
  7. data: "account="+ account, success:
  8.  
  9. function(msg){ $("#status").ajaxComplete(function(event, request){
  10.  
  11. $("#status").html('<font color="green">Игрок существует</font>');
  12.  
  13. });
  14.  
  15. }
  16.  
  17. });


не работает
 
 Top
gefard
Отправлено: 12 Января, 2014 - 19:48:09
Post Id



Гость


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


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




не работать этот пример не может.
пишите alert-ы в нужных местах
Да и принимаете вы в GET а на сервер POST отправляете
полностью должно так выглядеть
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $(document).ready(function(){
  3. $("#account").change(function() {
  4. var account = $("#account").val();
  5. metod=new XMLHttpRequest();
  6.     metod.onreadystatechange=function() {
  7.       if (metod.readyState==4 && metod.status==200)
  8. document.getElementById('status').innerHTML=metod.responseText;
  9.     }
  10.     metod.open('POST','template/checkname.php',true);
  11.     metod.setRequestHeader('Content-type','application/x-www-form-urlencoded');
  12.     metod.send('account='+account);
  13. });
  14. });
  15.  

(Отредактировано автором: 12 Января, 2014 - 19:54:42)

 
 Top
кабанчик
Отправлено: 12 Января, 2014 - 20:57:45
Post Id


Новичок


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


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




сделал
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $accname = $_GET['account'];
  3. $accname = mysql_real_escape_string($accname);
  4. $sql = mysql_query("SELECT * FROM accounts WHERE nickname='$accname'");
  5. if($res = mysql_fetch_assoc($sql))
  6. {
  7.         echo 'аккаунт найден';
  8. }
  9. else
  10. {
  11.         echo 'аккаунт не найден';      
  12. }
  13. ?>


выскакивает ошибка
PHP:
скопировать код в буфер обмена
  1. Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\test2\template\checkname.php on line 6

(Отредактировано автором: 12 Января, 2014 - 20:59:38)

 
 Top
gefard
Отправлено: 12 Января, 2014 - 21:02:06
Post Id



Гость


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


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




кабанчик пишет:
сделал
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $accname = $_GET['account'];
  3. $accname = mysql_real_escape_string($accname);
  4. $sql = mysql_query("SELECT * FROM accounts WHERE nickname='$accname'");
  5. if($res = mysql_fetch_assoc($sql))
  6. {
  7.         echo 'аккаунт найден';
  8. }
  9. else
  10. {
  11.         echo 'аккаунт не найден';      
  12. }
  13. ?>


яж говорю не GET a POST
$accname = $_POST['account'];
 
 Top
кабанчик
Отправлено: 12 Января, 2014 - 21:08:28
Post Id


Новичок


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


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




gefard пишет:
кабанчик пишет:
сделал
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $accname = $_GET['account'];
  3. $accname = mysql_real_escape_string($accname);
  4. $sql = mysql_query("SELECT * FROM accounts WHERE nickname='$accname'");
  5. if($res = mysql_fetch_assoc($sql))
  6. {
  7.         echo 'аккаунт найден';
  8. }
  9. else
  10. {
  11.         echo 'аккаунт не найден';      
  12. }
  13. ?>


яж говорю не GET a POST
$accname = $_POST['account'];


тупанул, извеняюсь.
но ошибка не пропала.
 
 Top
gefard
Отправлено: 12 Января, 2014 - 21:15:11
Post Id



Гость


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $accname = mysql_real_escape_string($_POST['account'];);
  3. $sql = mysql_num_rows(mysql_query("SELECT * FROM accounts WHERE nickname='$accname'"));
  4. if($sql > 0)
  5. {
  6.         echo 'аккаунт найден';
  7. }
  8. else
  9. {
  10.         echo 'аккаунт не найден';      
  11. }
  12. ?>
 
 Top
кабанчик
Отправлено: 12 Января, 2014 - 21:21:48
Post Id


Новичок


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


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




gefard пишет:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $accname = mysql_real_escape_string($_POST['account'];);
  3. $sql = mysql_num_rows(mysql_query("SELECT * FROM accounts WHERE nickname='$accname'"));
  4. if($sql > 0)
  5. {
  6.         echo 'аккаунт найден';
  7. }
  8. else
  9. {
  10.         echo 'аккаунт не найден';      
  11. }
  12. ?>


Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\test2\template\checkname.php on line 3

Может у вас есть skype? там было бы удобнее)
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB