[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка в авторизации
sharomet
  $r = mysql_query("SELECT * FROM `users` WHERE `login` = ".mysql_real_escape_string($login)." AND `pass` = '$pass' LIMIT 1");
$result = mysql_fetch_assoc($r); // тут ошибка
$user = $result[0];

if(!$user) {
die ('Пользователь занят или вы ввели не правельный пароль');
}


проверка авторизации выдаёт ошибку

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in бла бла бла

что тут не так?



Спустя 5 минут, 24 секунды (29.10.2011 - 10:52) Ramzil_Nixon написал(а):

$r


Переменный с одной буквой недопустим по моему. Попрбуй по другому

Спустя 3 минуты, 49 секунд (29.10.2011 - 10:55) XCross написал(а):
Допустима =)

$r = mysql_query("SELECT * FROM `users` WHERE `login` = '".mysql_real_escape_string($login)."' AND `pass` = '".$pass."' LIMIT 1") or die(mysql_error());


Храни пароли лучше в виде хешей.

Спустя 33 секунды (29.10.2011 - 10:56) бошка написал(а):
$r = mysql_query("SELECT * FROM `users` WHERE `login` = '".mysql_real_escape_string($login).'" AND `pass` = '".$pass."' LIMIT 1");

$row= mysql_fetch_assoc($r);
$id = $row['
id'];

1. Вы извлекаете как ассоциативный массив
2. Запрос неправильный

Спустя 20 секунд (29.10.2011 - 10:56) Ramzil_Nixon написал(а):
Или цифры первым использовать, где то читал, но не помню

Спустя 1 час, 19 минут, 7 секунд (29.10.2011 - 12:15) sharomet написал(а):
$r = mysql_query("SELECT * FROM `users` WHERE `login` = '".mysql_real_escape_string($login)."' AND `pass` = '".$pass."' LIMIT 1") or die(mysql_erro());
$result = mysql_fetch_assoc($r);
$user = $result[0];
if(!$user) {
die ('Пользователь занят или вы ввели не правельный пароль');
}
else {
echo "Привет $login";
}

нехочет и по id нехочет unsure.gif

Спустя 33 секунды (29.10.2011 - 12:16) l@pteff написал(а):
Имхо, ты все немного усложнил. Просто проверяй на наличие комбинации логин\пароль:

$r = mysql_query("SELECT * FROM `users` WHERE `login`='".mysql_real_escape_string($login)."' and `password` = '$password' LIMIT 1");
if (mysql_num_rows($r)==0) {exit('Неверная комбинация логин-пароль.');}
echo 'Авторизация пройдена.';

Спустя 13 минут, 44 секунды (29.10.2011 - 12:30) YVSIK написал(а):
оО)) майн))
ты прочти что выдал))
Свернутый текст
<?php 
$r = mysql_query("SELECT * FROM `users` WHERE `login`='"
.mysql_real_escape_string($login)."'
and `password` = '
$password' LIMIT 1");
if (mysql_num_rows($r)==0)
{
exit('Неверная комбинация логин-пароль.');
}
echo 'Авторизация пройдена.';

этя строчка прото остановит скрипт-====> exit('Неверная комбинация логин-пароль.');
РАЗ
тут==== and `password` = '$password' LIMIT 1");
что ? не надо проверять ещё и пароль дА? на сол инекции
а по моему так вот надо
password`='" .mysql_real_escape_string($password)."'
ДВА!!!)
это с какого перепугу это заработает
}
echo 'Авторизация пройдена.';
а где оператор else ???
ТРИ!
это ты друг все усложнил ! и это и есть Б****-код!
ЧЕТЫРЕ!!
уже если отвечаешь то хоть проверь что сам наконопатил!!

Спустя 4 минуты, 42 секунды (29.10.2011 - 12:34) YVSIK написал(а):
и ещё !! зачем гонять интерпритатор по всей таблице, достаточно
будет проверить по двум полям

 $r = mysql_query("SELECT `login`, `password` FROM....");
// И ТД.

Спустя 17 минут, 9 секунд (29.10.2011 - 12:52) sharomet написал(а):
Цитата (l@pteff @ 29.10.2011 - 09:16)
Имхо, ты все немного усложнил. Просто проверяй на наличие комбинации логин\пароль:

$r = mysql_query("SELECT * FROM `users` WHERE `login`='".mysql_real_escape_string($login)."' and `password` = '$password' LIMIT 1");
if (mysql_num_rows($r)==0) {exit('Неверная комбинация логин-пароль.');}
echo 'Авторизация пройдена.';

Работает.. :)спасибо)

Спустя 3 минуты, 28 секунд (29.10.2011 - 12:55) YVSIK написал(а):
sharomet да он может и заработает !! blink.gif
только все написано шиворот на выворот ) как у ЖП. есть такой представитель в инете smile.gif

Спустя 4 минуты, 39 секунд (29.10.2011 - 13:00) sharomet написал(а):
Блин вас хрен поймёш.... biggrin.gif
просто по другому оно не хочет уже переделывал гдето раз 50 smile.gif

Спустя 46 секунд (29.10.2011 - 13:01) YVSIK написал(а):
Цитата (Ramzil_Nixon @ 29.10.2011 - 10:52)

$r


Переменный с одной буквой недопустим по моему. Попрбуй по другому

вот те ещё один минус
вроде же работает и может это для примера так сделано чтоб особо не заморачиваться а потом все это уже разширять и применять в боевых условиях ,
вот как только начнуться эти боевые условия , тогда сам будешь не рад что такое соорудил!! :D

Спустя 9 минут, 50 секунд (29.10.2011 - 13:10) sharomet написал(а):
Люди не парьтесь я вобще JS программист, впервый раз столкнулся с php и уже жалею об этом...

Всем спасибо)

Спустя 9 минут, 2 секунды (29.10.2011 - 13:19) l@pteff написал(а):
YVSIK Если мы работаем не с паролем а с его хэшем нужны какие-то дополнительные фильтры от инъекций?
Цитата

этя строчка прото остановит скрипт-====> exit('Неверная комбинация логин-пароль.');

а зачем его продолжать, если данные не прошли проверку? blink.gif

Спустя 2 минуты, 37 секунд (29.10.2011 - 13:22) YVSIK написал(а):
sharomet
Свернутый текст
хм===угу)) тем более если так ) вроде все отлично должен понимать wink.gif про чё идет стеб


Спустя 3 минуты, 28 секунд (29.10.2011 - 13:25) YVSIK написал(а):
Цитата (l@pteff @ 29.10.2011 - 13:19)
YVSIK Если мы работаем не с паролем а с его хэшем нужны какие-то  дополнительные фильтры от инъекций?
Цитата

этя строчка прото остановит скрипт-====> exit('Неверная комбинация логин-пароль.');

а зачем его продолжать, если данные не прошли проверку? blink.gif

гиде тут сказано про хешь?
РАЗ
второе если ты остановишь скрипт то ты остановишь страницу
и ома может зависнуть и тупиться от твоей команды , попросту браузер помечется и тупанет
и ещё если после выполненого условия и войдено,,,!!! будет ещё что-то добавлено
вылетит нотис с которым ты потом ешё намучаешься !!

моя бабушка так и говорила если-б она была дедушкой много чего возможно ещё на свете нового случиться могло !! laugh.gif


_____________
Место клизмы изменить нельзя!
Быстрый ответ:

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