Проблемма с созданием авторизации (Mysql+PHP)

_Asmund

Guest
Проблемма с созданием авторизации (Mysql+PHP)

Доброе время суток, коллеги!
У меня свозникла странная проблемма.
Для сайта нужно создать авторизацию, задача вобщем то приметивная. Но вот с какой проблеммой бьюсь уже третий день.
Есть таблица в MySQL назовем ее auth например. В ней несколько столбцов два из которых как водится name и pass.
В таблицу записыватся занчения pass соответственно пропускается через функцию Password('пароль'), но когда скрипт подключается к базе со строкой: "select * from auth where name='$name' and pass=password('$pass')"; он мне упорно говорит что атентификацию произвести не удалось.
Меняю на:"select * from auth where name='$name''; все находится, как только добавляется поиск зашифрованного пароля все, более того ввожу в консоли монитора эту же строку, тот же эффект. Т.е. даже сама SQL - ка не видит совпадений. Глюк?
В чем может быть дело? Кто-нибудь сталкивался с чем - нибудь подобным. Вводная PHP 4.3.11 и Mysql 4.1.x
 

Panchous

Павел
код в студию! (sql)
приведи два запроса:
1. вставка записи с паролем и шифрованием
2. выбор записи с этим паролем
 

_Asmund

Guest
Легко!
insert into auth ('1', 'name', password('пароль'));
Запись в таблице присутствует, я проверял, но находиться не находится!
select * from auth where name='name' and pass = password('пароль');
все ни чего лишнего, по моему глюк это.
 

Alexandre

PHPПенсионер
_Asmund версия мускула какая :)
есть некие изменения с функцией password()
 

_Asmund

Guest
Версия 4.1.10, видимо так и есть, потому что я только что переставил на 3.23.33 и все нормально заработало.
А что за изменеия?
 

BackSlash

Guest
$login = 'Test';
$pass = '123';
mysql_query("INSERT INTO table1 (name, pass) VALUES ('$login', password('$pass')") OR die("Error!");

$r = mysql_query("SELECT name, pass FROM table1 WHERE (name='$login' AND pass=password('$pass'))") OR die("Error!");

while ($row = mysql_fetch_array($r))
{
echo $row[name];
}

Попробовал – всё работает. Проверь переменную $pass, возможно она как-то нетак обрабатывается перед тем как суется в запрос.
 

Фанат

oncle terrible
Команда форума
BackSlash, ты не пробовал читать тему, перед тем, как в неё отвечать? Не только вопрос, но и ответы?
 

BackSlash

Guest
Версия 4.1.10, видимо так и есть, потому что я только что переставил на 3.23.33 и все нормально заработало.
А что за изменеия?
Простите, не заметил.

Просто у меня тоже стоит версия 4.1.10 и мне непонятно, почему у _Asmund’а не работает его запрос.
 

Фанат

oncle terrible
Команда форума
потому, что он шифровал в одной версии, а читает - в другой
 

_Asmund

Guest
Не знаю, в чем тут дело. В третьей версии все работает нормально, в 4 не работал самый простейший запрос.
В принципе не работал он по тому что шифрование происходило как-то не правильно.
В третьей версии я шифрую например шестизначный пароль, он в таблице занимает 16 знаков и все, хотя "свободно" к примеру 30.
В четверке, он занимает все свободное протранство и впереди идет обязательно какая-то звездочка. Причем генерируймая функцией шифрования строка получается даже длиннее и поэтому не возникает совпадения при "селекции" таблицы

-~{}~ 23.04.05 12:44:

Автор оригинала: Фанат
потому, что он шифровал в одной версии, а читает - в другой
Очень смешно! По крайней мере чувство юмара есть это уже хорошо!
Корошо быть "авторитетным"?
Между прочем не у одного меня такое может приключиться, давайте попробуем разобраться что бы еще кто-то смог воспользоваться колективной мудростью!
 

SiMM

Новичок
_Asmund, тебе уже всё сказали. А с чувством юмора у тебя явно напряг. Как и с субординацией.
 

_Asmund

Guest
У меня с чувством юмора все впорядке. Я то же вроде пошутил.
А про субординацию будете в армии сержантам расказывать.
И если вы считаете что перед вами на ципочках нужно ходить только по тому что вы тут постоянно сидите, то извените не перед кем ни ходил и не буду.
Давайте нормально общаться без всяких субодинаций, вы то же были когдато начинающим старайтесь помнить об этом, когда наезжаете на новичков.
За то что подсказали, большое спасибо не думайте, что я не оценил ваше потрачное время. Общение действительно оказалось полезным и не только для меня надеюсь, но и для тех кто после меня будет смотреть эту тему.
Вобщем давайте жить дружно ребята! И помогать друг другу кто чем сможет.

Отдельное большое спасибо тем кто посчитал возможным и нужным потратить свое время на возню со всей этой ерундой, не смотря на свою занятость и авторитет! Жаль что текст не передает многие нюансы речи избежали бы многих непоняток до скорых встреч коллеги!
 
Сверху