PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Без описания
Поиск в теме | Версия для печати
кабанчик
Отправлено: 11 Января, 2014 - 23:40:40
Новичок
Покинул форум
Сообщений всего: 23
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
Привет всем. В общем с Ajax не работал ниразу.
Но мне нужно кое что сделать.
Есть поле, где игрок вводит свой ник нейм, так вот мне нужно чтобы возле поля писалось , если ник существует в БД, то типа "Всё хорошо", если же нет, то "Всё плохо".
И чтобы страница не грузилась.
Вот кое что намудрил тута.
Но не работает почему-то.
Скрипт
PHP:
скопировать код в буфер обмена
function toggle( id) { if ( document. getElementById( id) . style. display == "none" )
{ document. getElementById( id) . style. display = "block" }
else { document. getElementById( id) . style. display = "none" }
}
$( document) . ready( function ( )
{
$( "#account" ) . change( function ( )
{
var account = $( "#account" ) . val( ) ;
var msgbox = $( "#status" ) ;
if ( account. length > 4 )
{
$. ajax( {
type: "POST" ,
url: "template/checkname.php" ,
data: "account=" + account, success:
function ( msg) { $( "#status" ) . ajaxComplete( function ( event, request) {
$( "#status" ) . html( '<font color="green">Игрок существует</font>' ) ;
} ) ;
}
} ) ;
}
else
{
$( "#status" ) . html( '<font color="red">Игрока не существует</font>' ) ;
}
return false ;
} ) ;
} ) ;
Сама форма
PHP:
скопировать код в буфер обмена
< form class = "bs-example form-horizontal" method= "post" action= "https://unitpay.ru/pay/1237-96628" enctype= "utf-8" >
Игровая валюта: 1 рубль = 300 игровых донат рублей.
< fieldset>
< div class = "form-group" >
< div class = "col-lg-8" >
< input class = 'form-control' onkeyup= 'Price();' id= "rur" name= "sum" size= '16' placeholder= '0 RUR.' type= 'text' >
</ div>
</ div>
< div class = "form-group" >
< div class = "col-lg-8" >
< input class = "form-control" id= "total" type= "text" disabled= "" >
</ div>
</ div>
< div class = "form-group" >
< div class = "col-lg-8" >
< input class = "form-control" name= "account" id= "account" type= "text" placeholder= 'Введите свой никнейм' >
< span id= "status" ></ span>
</ div>
</ div>
< div class = "form-group" >
< div class = "col-lg-10 col-lg-offset-2" >
< input type= "hidden" name= "desc" value= "Donate Legal Game" >
< button type= "submit" class = "btn btn-primary" > Продолжить</ button>
</ div>
</ div>
</ fieldset>
</ form>
php файл, где запрос делается
gefard
Отправлено: 12 Января, 2014 - 10:52:26
Гость
Покинул форум
Сообщений всего: 64
Дата рег-ции: Март 2012
Помог: 1 раз(а)
кабанчик пишет: Привет всем. В общем с Ajax не работал ниразу.
Но мне нужно кое что сделать.
Есть поле, где игрок вводит свой ник нейм, так вот мне нужно чтобы возле поля писалось , если ник существует в БД, то типа "Всё хорошо", если же нет, то "Всё плохо".
И чтобы страница не грузилась.
Вот кое что намудрил тута.
Но не работает почему-то.
Скрипт
PHP:
скопировать код в буфер обмена
function toggle( id) { if ( document. getElementById( id) . style. display == "none" )
{ document. getElementById( id) . style. display = "block" }
else { document. getElementById( id) . style. display = "none" }
}
$( document) . ready( function ( )
{
$( "#account" ) . change( function ( )
{
var account = $( "#account" ) . val( ) ;
var msgbox = $( "#status" ) ;
if ( account. length > 4 )
{
$. ajax( {
type: "POST" ,
url: "template/checkname.php" ,
data: "account=" + account, success:
function ( msg) { $( "#status" ) . ajaxComplete( function ( event, request) {
$( "#status" ) . html( '<font color="green">Игрок существует</font>' ) ;
} ) ;
}
} ) ;
}
else
{
$( "#status" ) . html( '<font color="red">Игрока не существует</font>' ) ;
}
return false ;
} ) ;
} ) ;
Сама форма
PHP:
скопировать код в буфер обмена
< form class = "bs-example form-horizontal" method= "post" action= "https://unitpay.ru/pay/1237-96628" enctype= "utf-8" >
Игровая валюта: 1 рубль = 300 игровых донат рублей.
< fieldset>
< div class = "form-group" >
< div class = "col-lg-8" >
< input class = 'form-control' onkeyup= 'Price();' id= "rur" name= "sum" size= '16' placeholder= '0 RUR.' type= 'text' >
</ div>
</ div>
< div class = "form-group" >
< div class = "col-lg-8" >
< input class = "form-control" id= "total" type= "text" disabled= "" >
</ div>
</ div>
< div class = "form-group" >
< div class = "col-lg-8" >
< input class = "form-control" name= "account" id= "account" type= "text" placeholder= 'Введите свой никнейм' >
< span id= "status" ></ span>
</ div>
</ div>
< div class = "form-group" >
< div class = "col-lg-10 col-lg-offset-2" >
< input type= "hidden" name= "desc" value= "Donate Legal Game" >
< button type= "submit" class = "btn btn-primary" > Продолжить</ button>
</ div>
</ div>
</ fieldset>
</ form>
php файл, где запрос делается
В PHP должно определяться существует игрок или нет
тогда аякс получит ответ и выведет его
а щас у вас кроме ответа сервера аякс ничего не получает
кабанчик
Отправлено: 12 Января, 2014 - 11:59:06
Новичок
Покинул форум
Сообщений всего: 23
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
gefard пишет:
а щас у вас кроме ответа сервера аякс ничего не получает
ну напишите готовый код, пожалуйста)
(Отредактировано автором: 12 Января, 2014 - 12:01:23)
gefard
Отправлено: 12 Января, 2014 - 12:21:42
Гость
Покинул форум
Сообщений всего: 64
Дата рег-ции: Март 2012
Помог: 1 раз(а)
кабанчик пишет: gefard пишет:
а щас у вас кроме ответа сервера аякс ничего не получает
ну напишите готовый код, пожалуйста)
охохо, а самому ручками? куда копать сказали
кабанчик
Отправлено: 12 Января, 2014 - 13:22:13
Новичок
Покинул форум
Сообщений всего: 23
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
gefard пишет:
охохо, а самому ручками? куда копать сказали
ну вот запрос сделал
PHP:
скопировать код в буфер обмена
<?PHP
include ( 'engine/database.php' ) ;
$db = new DataBase;
$db -> connect ( ) ;
$accname = $_GET [ 'account' ] ;
$sql = mysql_query ( "SELECT * FROM accounts WHERE nickname='$accname '" ) ; {
echo 'аккаунт найден' ;
}
else
{
echo 'аккаунт не найден' ;
}
?>
далее , как вывести в AJAX ?
кабанчик
Отправлено: 12 Января, 2014 - 13:56:13
Новичок
Покинул форум
Сообщений всего: 23
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
caballero пишет: ну так код есть выше - в чем проблемма?
не знаю, ввожу данные в поле, то что должно писать, типа" акк существует" или "акка нету" не пишет, почему?
gefard
Отправлено: 12 Января, 2014 - 15:49:36
Гость
Покинул форум
Сообщений всего: 64
Дата рег-ции: Март 2012
Помог: 1 раз(а)
так понятнее будет
CODE (
htmlphp ):
скопировать код в буфер обмена
metod=new XMLHttpRequest();
metod.onreadystatechange=function() {
if (metod.readyState==4 && metod.status==200)
document.getElementById('status').innerHTML=metod.responseText;
}
metod.open('POST','template/checkname.php',true);
metod.setRequestHeader('Content-type','application/x-www-form-urlencoded');
metod.send('account='+account);
пиши место своего
CODE (
htmlphp ):
скопировать код в буфер обмена
$.ajax({
type: "POST",
url: "template/checkname.php",
data: "account="+ account, success:
function(msg){ $("#status").ajaxComplete(function(event, request){
$("#status").html('< font color= "green" > Игрок существует</ font> ');
});
}
});
кабанчик
Отправлено: 12 Января, 2014 - 19:03:43
Новичок
Покинул форум
Сообщений всего: 23
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
gefard пишет: так понятнее будет
CODE (
htmlphp ):
скопировать код в буфер обмена
metod=new XMLHttpRequest();
metod.onreadystatechange=function() {
if (metod.readyState==4 && metod.status==200)
document.getElementById('status').innerHTML=metod.responseText;
}
metod.open('POST','template/checkname.php',true);
metod.setRequestHeader('Content-type','application/x-www-form-urlencoded');
metod.send('account='+account);
пиши место своего
CODE (
htmlphp ):
скопировать код в буфер обмена
$.ajax({
type: "POST",
url: "template/checkname.php",
data: "account="+ account, success:
function(msg){ $("#status").ajaxComplete(function(event, request){
$("#status").html('< font color= "green" > Игрок существует</ font> ');
});
}
});
не работает
gefard
Отправлено: 12 Января, 2014 - 19:48:09
Гость
Покинул форум
Сообщений всего: 64
Дата рег-ции: Март 2012
Помог: 1 раз(а)
не работать этот пример не может.
пишите alert-ы в нужных местах
Да и принимаете вы в GET а на сервер POST отправляете
полностью должно так выглядеть
CODE (
htmlphp ):
скопировать код в буфер обмена
$(document).ready(function(){
$("#account").change(function() {
var account = $("#account").val();
metod=new XMLHttpRequest();
metod.onreadystatechange=function() {
if (metod.readyState==4 && metod.status==200)
document.getElementById('status').innerHTML=metod.responseText;
}
metod.open('POST','template/checkname.php',true);
metod.setRequestHeader('Content-type','application/x-www-form-urlencoded');
metod.send('account='+account);
});
});
(Отредактировано автором: 12 Января, 2014 - 19:54:42)
кабанчик
Отправлено: 12 Января, 2014 - 21:08:28
Новичок
Покинул форум
Сообщений всего: 23
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
gefard пишет:
яж говорю не GET a POST
$accname = $_POST['account'];
тупанул, извеняюсь.
но ошибка не пропала.
Поиск в теме | Версия для печати
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB