Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: не заноситсятся данные в константу

Сообщения:  [1-10]   [11-18] 

 
 автор: Slo_Nik   (08.04.2009 в 00:24)   письмо автору
 
   для: Trianon   (07.04.2009 в 23:56)
 

а он есть.... т.е. в базе такая запись есть.
но тут другая проблема в другом скрипте, решу её и решится эта трабла.
даже не думал на какой то другой скрипт.
спасибо за подсказку, заставили внимательно посмотреть на хеши паролей, а они все одинаковые :):):):):):)
при регистрации какая то фигня творится, полез проверять.

  Ответить  
 
 автор: Trianon   (07.04.2009 в 23:56)   письмо автору
 
   для: Slo_Nik   (07.04.2009 в 23:32)
 

Значит правильно говорит, что нет такого пользователя ( с логином first и паролем 2222 )
Что и требовалось доказать.

  Ответить  
 
 автор: Slo_Nik   (07.04.2009 в 23:32)   письмо автору
 
   для: Trianon   (07.04.2009 в 23:17)
 

echo $query дало
"SELECT COUNT(*) FROM `user_list` WHERE `login` = 'first' AND `password` = '934b535800b1cba8f96a5d72f72f1611'"
выполнил как выше писал, выдало
COUNT(*) 0
второй был
SELECT * FROM `user_list` WHERE `login` = 'first' AND `password` = '934b535800b1cba8f96a5d72f72f1611'
результат тот же
MySQL вернула пустой результат (т.е. ноль рядов). (Запрос занял 0.0040 сек)
посмотрел внимательно на сам хеш, что то сильно подозрительный он :)
поковыряю ещё, потом отпишу

  Ответить  
 
 автор: Trianon   (07.04.2009 в 23:17)   письмо автору
 
   для: Slo_Nik   (07.04.2009 в 23:10)
 

неправильно поняли.
Нужно было вставить строку echo $query;
И запрос брать не абы какой, а выведенный скриптом.

  Ответить  
 
 автор: Slo_Nik   (07.04.2009 в 23:10)   письмо автору
 
   для: Trianon   (07.04.2009 в 22:42)
 

>нужно вывести текст запроса на экран , скопировать его в буфер и попытаться исполнить в phpMyAdmin или другом достоверно рабочем клиенте. И поглядеть на результат.

если правильно понял, то зашёл в phpmyadmin, открыл соответсвующюю базу и на закладке SQL "выполнить SQL запросы..." вот такой запрос сделал "SELECT * FROM `user_list`"б вернуло "Показывает записи 0 - 1 (2 всего, Запрос занял 0.0039 сек)"

>Кодировка может влиять если в логине есть русские буквы (точнее, знаки не попадающие в набор latin-0 ) .

в БД внёс два логина, на русском и англ. ни то ни другой не дали положительного результата.

>Может также влиять наличие обратных слэшей и кавычек в логине / пароле.
>Потому как четкого отделения экранирования от magic quotes в тексте скрипта не видно.

кавычек, слешей, или ещё каких то символов в логине/пароле нет.
а magic_quotes убрал, что бы сократить сообщение

  Ответить  
 
 автор: Trianon   (07.04.2009 в 22:42)   письмо автору
 
   для: Slo_Nik   (07.04.2009 в 22:31)
 

нужно вывести текст запроса на экран , скопировать его в буфер и попытаться исполнить в phpMyAdmin или другом достоверно рабочем клиенте. И поглядеть на результат.
Кодировка может влиять если в логине есть русские буквы (точнее, знаки не попадающие в набор latin-0 ) .
Может также влиять наличие обратных слэшей и кавычек в логине / пароле.
Потому как четкого отделения экранирования от magic quotes в тексте скрипта не видно.

  Ответить  
 
 автор: Slo_Nik   (07.04.2009 в 22:31)   письмо автору
 
   для: Trianon   (07.04.2009 в 21:04)
 

тогда вообще ни чего понять не могу.
в таблице и так один единственный логин/пароль....
может ли кодировка влиять на запрос?
в другом файле я обращаюсь к той же таблице и всё проходит нормально, правда использую функцию mysql_fetch_array().

  Ответить  
 
 автор: Trianon   (07.04.2009 в 21:04)   письмо автору
 
   для: Slo_Nik   (07.04.2009 в 20:44)
 

Так не ошибка это .
Вам запрос вернул успешный результат из одной строки и одного поля.
И в поле этом - нуль.
В смысле число строк в таблице с указанным логином и хешем пароля равно нулю.
Это, собственно и означает, что набранный логин/пароль - неверный.
И конечно, никакой mysql_error() в той ветви вызывать не нужно.

  Ответить  
 
 автор: Slo_Nik   (07.04.2009 в 20:44)   письмо автору
 
   для: Trianon   (07.04.2009 в 20:34)
 

в данном случае я думаю не важно как назвать ошибку, главное что бы был вывод mysql_error(), а его как раз и нет.
получается, что я получаю сообщение об ошибке, но саму ошибку я не вижу, поэтому и не могу её устранить.
вот и обратился за помощью, как ещё можно увидеть ошибку?

  Ответить  
 
 автор: Trianon   (07.04.2009 в 20:34)   письмо автору
 
   для: Slo_Nik   (07.04.2009 в 20:22)
 

Прошу извинить. Погорячился.
Все необходимые проверки есть.

Просто у Вас сообщения перепутаны.
Вместо ошибка авторизации должно быть Ошибка доступа к БД

А вместо нет константы должно быть как раз таки Ошибка авторизации
Ну или нет такого пользователя

  Ответить  

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования