[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка логина ajax
r2ndom
Добрый день.
Есть форма авторизации

<input name="login" type="text" size="20" maxlength="35" id="username" value="" > <span id="msgbox" style="display:none"></span>

На которой происходит проверка доступности логина для регистрации через файл user_availability.php с помощью ajax

<?php

$existing_users=array('roshan','mike','jason');

$user_name=$_POST['user_name'];

if (in_array($user_name, $existing_users))
{

echo "no";
}

else
{

echo "yes";
}
?>

Проверка логинов из массива existing_users проходит без проблем. Подскажите пожалуйста как сделать проверку из бд mysql? Таблица accounts, столбик login.
Игорь_Vasinsky
таблица пользователей

prfx_users

uid int(11) auto_increment primary key,
ulogin varchar(20)


Открываем мануал и смотрим

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}


$sql = "select uname from prfx_users where uname=$mysqli->real_escape_string($_POST['user_name'])"; //или через count()
$result = $mysqli->query($sql);

if($result->num_rows>0){
echo "Yes";
}
else{
echo "no";
}


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
r2ndom
На все логины пишет что свободен, и те что есть в базе
Игорь_Vasinsky
стопе. там ваще очепятка
так нуно
$sql = "select uname from prfx_users where uname='".$mysqli->real_escape_string($_POST['user_name'])."'";


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
r2ndom
Алилуя, спасибо большое.
r2ndom
А нет, теперь все заняты
Игорь_Vasinsky
:D
у тебя самописный мускул)) как хоть так и работает.

сделай

echo $sql;


проверь его через phpMyAdmin

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
r2ndom
Мускул с офф сайта.
uname в Вашем коде я так понимаю нужно заменить на мой?
Если так то все логины свободны
r2ndom
Если есть возможность дайте ссылку на форму и скрипт проверки "на лету". Третий день мучаюсь.
Игорь_Vasinsky
структура таблицы какая ?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
pamparam
может я не прав но тут что то не так
в форме у тебя написано name="login"

а потом
$user_name=$_POST['user_name'];

if (in_array($user_name, $existing_users))
{

echo "no";
}

else
{

echo "yes";
}


не понятно что ты проверяешь Login или user_name?
и да по больше бы инфы..
или хотя код файла пхп с выборкой из БД и ajax запрос на это дело..
Игорь_Vasinsky
я на примере логина показал. а что ему надо - он наверн знает

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
pamparam
Цитата
я на примере логина показал. а что ему надо - он наверн знает


да не у тебя все понятно
вот у него не совсем...
Цитата



<input name="login" type="text" size="20" maxlength="35" id="username" value="" >   <span id="msgbox" style="display:none"></span>


<?php

$existing_users=array('roshan','mike','jason');

$user_name=$_POST['user_name'];

if (in_array($user_name, $existing_users))
{

   echo "no";
}

else
{

   echo "yes";
}
?>


сначала input login потом POST['user_name']
Kusss
тут нет js, может там такое:
$("#username").keyup(function(){
var user_name = $(this).val();
$.post('user_availability.php', {'user_name' : user_name })
.
done ( function(result){
$('#msgbox').text(result).show();
})
.
fail( function(){
$('#msgbox').text('Ошибка').show();
});
});
r2ndom

$login = mysql_real_escape_string($_POST['user_name']);

$query = "SELECT 1 FROM `accounts`WHERE `login` = '{$login}'";

$result = mysql_query($query);

$known_login = mysql_fetch_assoc($result);

echo (false !== $known_login ? 'no' : 'yes');
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.