PHPFAQ  
Начинающим   Технологии   MySQL   PDO   Ошибки   Ссылки   Юмор   Форум   SafeMySQL  
-- Список сообщений -- Поиск --
Непонятная ошибка с запросом.
Вадим 31.01.13 04:19
Notice: Undefined variable: connection in /var/www/sellgames.eu/core/include/login_status.php on line 28 Warning: mysql_query() expects parameter 2 to be resource, null given in /var/www/sellgames.eu/core/include/login_status.php on line 28 Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in /var/www/sellgames.eu/core/include/login_status.php on line 29 Извините, введённый вами логин или пароль неверный.

Это выдает дебаг. Проблема такова, что ввожу лоигн и пароль 100% правильный. А он пишет что не правльный. Проверял, сверял, вот почти 6 утра) и все не найду в чем беда.

вот кусок кода куда ссылается дебаггер:

include('functions.php');
$user_function = 'db_connect';
$user_function();
$user_result = mysql_query("SELECT * FROM Users WHERE User_login='$user_login'",$connection); // Извлекаем из базы все данные о пользователе с введенным логином
$myrow = mysql_fetch_array($user_result);
if (empty($myrow['user_password']))
{
// Если пользователя с введенным логином не существует
exit ("Извините, введённый вами логин или пароль неверный.");
}
else {

Заранее спасибо)
ответить
phpfaq 31.01.13 08:33
пишет же русским по белому:

нет такой переменной.
если пользуешься mysql функциями, то просто убери $connection из кода везде.

хитромудрая конструкция
$user_function = 'db_connect';
$user_function();
поставила меня в тупик.
я обычно многое могу объяснить в нубокоде, но здесь моя фантазия отказывает
ответить
Вадим 31.01.13 09:25
Много функционала построено на функциях, и db_connect тоже функция, которая вызываеся еще много где. Если есть способ лучше, где после инклюда можно запустить функцию соединения с БД буду рад воспользоваться.

$connection удалил. Ошибки пропали. Но всеравно выдает ошибку о неправильном логине и пароле. Делаю тоже самое на чистой базе в чистой папке. Работает. Обвязываю сайт и перестает работать :(
ответить
phpfaq 31.01.13 09:39
Да ради бога, пусть будет функция

- вызывать-то её через одно место зачем?
Почему не написать вместо этих двух строчек просто
db_connect();
?
Хотя зачем писать её в каждом файле - я тоже не понимаю.
Почему бы не написать ОДИН раз внутри functions.php и забыть? Что за стремление такое писать как можно больше повторяющегося кода?

По поводу неправильного логина и пароля.
Надо ОТЛАЖИВАТЬСЯ. Есть такое слово в лексиконе у программистов.
Означает "не смотреть на код, как на картину Айвазовского, а ПРОВЕРЯТЬ его работу, все ли работает правильно".
В $user_login у тебя что?
В $user_result у тебя что?
В $myrow у тебя что?
В запросе у тебя что?
В базе у тебя что?
Уточнение: я спрашиваю не про предполагаемые значения, а про реальные. Ты хот одно вывел? Сравнил с ожидаемым? А почему?
ответить
Вадим 31.01.13 09:59
Спасибо за совет

А выводить с помощью эхо? для проверки? Ну регистрируется оно ведь нормально там скрипт аналогичен полностью. А тут не работает :)
Регистрация работает, в бд все заносится, а логина нет :))
ответить
phpfaq 31.01.13 10:04
выводить лучше через var_dump()

Если "тут не работает" - значит, "аналогичен НЕ полностью".
Но в принципе, я не настаиваю. Вместо отладки можешь сидеть и рассказывать, что у тебя всё нормально, но почему-то не работает
ответить
Вадим 31.01.13 10:16
var_dump($user_result)

Не выводит ничего) вставляю стразу после того как что нибудь в массив записываетсЯ) в итоге чистый лист вижу)
показ ошибок включен:
ini_set('display_errors',1);
error_reporting(E_ALL);
mysql_error()
ответить
phpfaq 31.01.13 10:21
Для начала проверь на ошибки синтаксиса

- при их наличии ini_set('display_errors',1);
не сработает.

а судя по тому, что ты видишь чистый лист - то ошибки есть
ответить
Вадим 31.01.13 10:48
Мой навык говно :(

вот бедовый логин: http://freetexthost.com/d5hmj4zsiq
а вот аналогичная работающая регистрация? http://freetexthost.com/dbue5mhnyk
Я вчера до 6 утра просидел :) и так поставил и так переставил. И гуглил. И че только не делал :)
ответить
phpfaq 31.01.13 12:42
надо включить вывод ошибок

в .htaccess

php_flag display_errors 1

или смотреть ошибку в логах.
когда исправишь синтаксические, сможешь двигаться дальше.
ответить
Вадим 31.01.13 15:19
Посмотрел логи

Вообще на левый фаил ошибку дал и все :(

[Thu Jan 31 16:07:09 2013] [error] [client 37.1.11.14] PHP Notice: Undefined variable: count in /var/www/sellgames.eu/core/include/functions.php on line 37, referer: http://www.sellgames.eu/registration.php

Я выше 2 ссылки на фаилы, посмотри, там синтаксис верный.
ответить
Написать
Имя:*
Заголовок:*
Вы робот?
Текст:
Пожалуйста, воздержитесь от посылки спама.
Сообщения, содержащие гиперссылки, проходят премодерацию.

© phpfaq.ru, 2019 1566615515.007 sec. О сайте   Хостинг iHor.ru