oksi777
Новичок
Дата регистрации:
05.09.2013 13:27:38
Сообщений: 17
Помогите пожалуйста найти ошибку.
function checkUser($email, $password) {
global $mysqli;
connectDB();
$result_set = $mysqli->query("SELECT * FROM `users` WHERE `email`= '$email' AND `password`='$password')"
;
closeDB();
if ($result_set->fetch_assoc()) return true;
else return false;
}
выходит сообщение на сайте:
Fatal error: Call to a member function fetch_assoc() on a non-object in Z:\home\mysite.local\www\lib\functions.php on line 34, то есть вот в этой строке
if ($result_set->fetch_assoc()) return true;
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
http://myrusakov.ru/php-fetchassoc.html
oksi777
Новичок
Дата регистрации:
05.09.2013 13:27:38
Сообщений: 17
Добрый вечер, Михаил! Большое спасибо за ответ, но я так и не смогла найти ошибку.Я так поняла из статьи, что она в этой строке
$result_set = $mysqli->query("SELECT * FROM `users` WHERE `email`='$email' AND `password`='$password')"
;
Но вроде бы всё на месте..как в уроке
Error 404
Продвинутый
Дата регистрации:
28.07.2013 16:04:47
Сообщений: 48
Здравствуйте Оксан. мне кажется, что ошибка у Вас в коде в конце запроса.
$result_set = $mysqli->query("SELECT * FROM
`users` WHERE `email`= '$email' AND
`password`='$password')"
у Вас там почему-то 2 - е закрывающие скобки на конце "
". для отладки и определения типа который содержит переменная хорошо использовать gettype() и var_dump()
oksi777
Новичок
Дата регистрации:
05.09.2013 13:27:38
Сообщений: 17
Добрый день! Спасибо за подсказку- кавычки исправила,ошибка пропала, но теперь показывает ошибку в auth.php
<?php
require_once "start.php";
$email = htmlspecialchars($_POST["email"]);
$password = htmlspecialchars($_POST["password"]);
$password = md5($password);
if (checkUser($email, $password)){
$_SESSION["email"] = $email;
$_SESSION["password"] = $password;
}
else $_SESSION["error_auth"] = 1;
header("Location: ".$_SERVER["HTTP_REFERER"]);
exit;
?>
Пишет, что Warning: Cannot modify header information - headers already sent by (output started at Z:\home\mysite.local\www\lib\functions.php:62) in Z:\home\mysite.local\www\ on line 11
Error 404
Продвинутый
Дата регистрации:
28.07.2013 16:04:47
Сообщений: 48
Ваша ошибка связана вот с этим выводам кода
header("Location: ".$_SERVER
["HTTP_REFERER"]);
в php запрещено отправлять заголовки функцией header(), если перед вызовом этой функции был какой-то вывод символов в браузер. что у вас в подключаемом файле start.php? функции?
oksi777
Новичок
Дата регистрации:
05.09.2013 13:27:38
Сообщений: 17
<?php
session_start();
require_once "lib/functions.php";
?>
Error 404
Продвинутый
Дата регистрации:
28.07.2013 16:04:47
Сообщений: 48
перекодируйте файл в кодировку utf-8 без BOM! именно без BOM
oksi777
Новичок
Дата регистрации:
05.09.2013 13:27:38
Сообщений: 17
он так и закодирован, я все файлы проверила..
Error 404
Продвинутый
Дата регистрации:
28.07.2013 16:04:47
Сообщений: 48
посмотрите тут http://myrusakov.ru/forum.html?act=thread&id=1885 и тут http://myrusakov.ru/php-modify-header.html