[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка свободен логин или нет
MillerLight
Все привет! Нашел способ проверки логина свободен или нет. Да вот только не могу сообразить как на страничке проверки прописать путь в базу в таблицу users к столбцу login... Много что перепробовал да вот всегда пишет что логин свободен...

<script src="jquery.js" type="text/javascript" language="javascript"></script>
<
script language="javascript">

$(document).ready(function()
{
$("#login").blur(function()
{
$("#msgbox").removeClass().addClass('messagebox').text('Проверка...').fadeIn("slow");
//Проверить существует ли имя
$.post("user_availability.php",{ login:$(this).val() } ,function(data)
{
if(data=='no') //если имя не доступно
{
$("#msgbox").fadeTo(200,0.1,function() //начнет появляться сообщение
{
$(this).html('Это имя уже занято').addClass('messageboxerror').fadeTo(900,1);
});
}
else
{
$("#msgbox").fadeTo(200,0.1,function()
{
//тут прописывается сообщение о доступности имени
$(this).html('Имя доступно для регистрации').addClass('messageboxok').fadeTo(900,1);
});
}

}
);

});
});
</
script>


Форма
  <div >
<
input name="login" type="text" id="login" value="" maxlength="15" />
<
span id="msgbox" style="display:none"></span>
</
div>


страница проверки
$existing_users=array('roshan','mike','jason'); 

$user_name=$_POST['user_name'];

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

echo "no";
}
else
{

echo "yes";
}




Спустя 2 минуты, 2 секунды (5.01.2011 - 02:38) inpost написал(а):
<?php
$db = mysql_connect();
mysql_select_db();
?>

Спустя 7 часов, 10 минут, 14 секунд (5.01.2011 - 09:48) Зарегестрирований написал(а):
Етим ТО что ВЫШЕ всё сказано ИБО НАФИГ ТАК ПО УМНОМУ
Просто забивай с формы логин в переменную а потом проверяй по базе совпадения если $result не пустой то пиши что
echo "Пропала брат наша затея, занято место логина ";
ЕСЛИ нЕТ (переменная пуста) то выполняй скрипт далее

А УЖ если тебе нужно написать проверку именно на JS то лутче сходить в разде Javascript там всё обьеснят.

Спустя 1 час, 2 минуты, 10 секунд (5.01.2011 - 10:50) MillerLight написал(а):
Простоя проверка на страничке добавления уже есть хотелось сделать моментальную проверку уже при заполнении...

Спустя 8 минут, 54 секунды (5.01.2011 - 10:59) Michael написал(а):
Цитата
Да вот только не могу сообразить как на страничке проверки прописать путь в базу в таблицу users к столбцу login...Много что перепробовал да вот всегда пишет что логин свободен...

где ты пробовал с базой? Покажи.


Спустя 2 минуты, 13 секунд (5.01.2011 - 11:01) MillerLight написал(а):
Цитата (inpost @ 4.01.2011 - 23:38)
<?php
$db = mysql_connect();
mysql_select_db();
?>

 


Я сделал немного по другому и тоже всегда логин свободен... Как еще то можно сделать проверку???
 $login=$_POST['login'];
$yesno = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($yesno);
if (!empty($myrow['id']))
{
echo "no";
}
else
{
echo "yes";
}

Спустя 3 минуты, 12 секунд (5.01.2011 - 11:05) MillerLight написал(а):
Пробавал и так тоже
$sql = "SElECT * FROM users";
$query = mysql_query($sql) or die(mysql_error());
$existing_users = mysql_fetch_array($query);


$user_name=$_POST['login'];

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

echo "no";
}
else
{

echo "yes";
}

Спустя 3 минуты, 35 секунд (5.01.2011 - 11:08) Michael написал(а):
$res = mysql_query("SELECT count(*) FROM users WHERE login='" . mysql_real_escape_string($login) . "'",$db);
$row = mysql_fetch_row($res);
if ($row[0] == 0) echo 'yes';
else echo 'no';

Спустя 9 минут, 49 секунд (5.01.2011 - 11:18) MillerLight написал(а):
Тоже всегда все свободно :)

$login=$_POST['login'];
$res = mysql_query("SELECT count(*) FROM users WHERE login='" . mysql_real_escape_string($login) . "'",$db);
$row = mysql_fetch_row($res);
if ($row[0] == 0) echo 'yes';
else echo 'no';

Спустя 14 минут, 27 секунд (5.01.2011 - 11:32) Michael написал(а):
ты вообще знаком с основами отладки? Ты явно чего то не учитываешь.
1) убедись что в $login
2) текст запроса слогируй
3) проверь его в phpmyadmin
...

и так построчно поймешь что не так. Может кодировка вообще. Потому что должно работать.

Спустя 12 минут, 59 секунд (5.01.2011 - 11:45) MillerLight написал(а):
хорошо буду пробовать искать дырку....

Спустя 1 минута, 52 секунды (5.01.2011 - 11:47) Зарегестрирований написал(а):
Во первих Зделай проверку
 if (!empty ($_POST['login']))
{echo "Не пусто";}
else {echo "Что-то тут не то";}


Во вторих если там пусто проверь в форме путь action
Дальше
Страницу проверки лучше сделать на той же где и форма ибо так удобней будет с Сесиями и куками
А если ты розбиваешь все по разным страницами ради удобности создай функцию
function checkLogin()
{}

Спустя 2 минуты, 25 секунд (5.01.2011 - 11:50) Michael написал(а):
Цитата (Зарегестрирований)
Во вторих если там пусто проверь в форме путь action

у него там AJAX, смотрите же о чем спрашивают.

Спустя 12 минут, 53 секунды (5.01.2011 - 12:03) Зарегестрирований написал(а):
ну блин вы намудрили так перенеси тему в AJAX там тебе профили в этой сфере помогут
а вообше извеняюсь не увидил laugh.gif

Спустя 4 часа, 35 минут, 34 секунды (5.01.2011 - 16:38) inpost написал(а):
Зарегестрирований
Вопрос как раз про проверку на ПХП.

Спустя 3 дня, 6 часов, 46 минут, 17 секунд (8.01.2011 - 23:24) MillerLight написал(а):
Все работает! Только вот на русские буквы не реагирует и пишет что логин свободен.

Есть идея чтобы при заполнении так же выводилось ЧТО ПИШИ АНГЛ.БУКВАМИ.

Вопрос такой. Как реализовать проверку содержимого переменной USER_NAME??? Ну то есть как узнать русскими или англ буквами был введен логин?


$user_name=$_POST['user_name'];


$res = mysql_query("SELECT count(*) FROM users WHERE login='" . mysql_real_escape_string($user_name) . "'",$db);
$row = mysql_fetch_row($res);
if ($row[0] == 0) echo 'yes';
else echo 'no';

Быстрый ответ:

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