<MyRusakov.ru />

Профессия Web-разработчик

Профессия Web-разработчик

Этот комплект за 8 месяцев превратит Вас в Web-разработчика с нуля. Учиться достаточно 1 час в день.

Начнёте Вы с HTML, CSS и вёрстки сайтов. Потом перейдёте к программированию и JavaScript. Затем изучите PHP, MySQL, SQL, Python. Изучите Web-фреймворки Laravel и Django. Создадите 5 своих сайтов для портфолио.

Комплект содержит:

- 540 видеоуроков

- 110 часов видео

- 1205 заданий для закрепления материала из уроков

- 5 финальных тестов

- 7 сертификатов

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Форум сайта MyRusakov.ru

Регистрация и авторизация пользователя не работает
12.02.2013 15:41:10 Регистрация и авторизация пользователя не работает Сообщение #1
LLIMATKO

LLIMATKO

Эксперт

Эксперт

Дата регистрации:
12.02.2013 15:31:03

Сообщений: 129

Всем доброго дня.

Прохожу курс ПХП с нуля до Гуру. Раздел Авторизация и регистрация пльзователя.

у меня все время выдает там ошибку такого плана: Fatal error: Call to a member function query() on a non-object in W:\home\rusakov\www\lib\class_user.php on line 22


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

Index.php:

<?
require_once ("lib/class_user.php";
$user = User::getObject();
if (isset($_POST["send_reg"]))
{
$login = $_POST["login"];
$password = $_POST["password"];
echo $login.",".$password;
$user->regUser($login,$password);
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Авторизация и регистрация</title>
</head>

<body>
<h1>Регистрация пользователя</h1>
<form action="index.php" name="reg" method="post">
<table>
<tr>
<td>Логин: </td>
<td>
<input type="text" name="login" />
</td>
</tr>
<tr>
<td>Пароль: </td>
<td>
<input type="password" name="password" />
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="send_reg" value="Зарегистрироваться" />
</td>
</tr>
</table>
</form>
</body>
</html>


И соответсвенно класс User выкладываю, который находится по адрессу lib/class_user.php:

<?
class User
{
private static $user = null;
private $db;
private function __constuct ()
{
$this->db = new mysqli("localhost", "root", "", "mybase";
$this->db->query("SELECT NAMES `utf8`";

}

public static function getObject()
{
if (self::$user === null) self::$user = new User();
return self::$user;

}

public function regUser($login, $password)
{
$this->db->query("INSERT INTO `Users` (`login` , `password`) VALUES ('$login' , '$password')";
}
}
?>


Проблему уже 3й день ищу, облазил инет и прошкудировал весь пхп код до запятой)

Мб кто видит ошибку?
Профиль
12.02.2013 16:01:46 Регистрация и авторизация пользователя не работает Сообщение #2
ac-40-6.0

ac-40-6.0

Эксперт

Эксперт

Дата регистрации:
29.06.2012 02:02:06

Сообщений: 88

$this->db = new mysqli("localhost", "root", "", "mybase";
$this->db->query("SELECT NAMES `utf8`"


$this -> $db ->...
Профиль
12.02.2013 16:21:33 Регистрация и авторизация пользователя не работает Сообщение #3
LLIMATKO

LLIMATKO

Эксперт

Эксперт

Дата регистрации:
12.02.2013 15:31:03

Сообщений: 129

Странно, но в курсе Михаила Рускова было написанно именно $this->db->....

Щас попробую
Профиль
12.02.2013 16:33:26 Регистрация и авторизация пользователя не работает Сообщение #4
LLIMATKO

LLIMATKO

Эксперт

Эксперт

Дата регистрации:
12.02.2013 15:31:03

Сообщений: 129

Необходимо все-таки писать так - $this->db->.... по Вашему способу выдает ошибку
Профиль
12.02.2013 16:38:53 Регистрация и авторизация пользователя не работает Сообщение #5
ac-40-6.0

ac-40-6.0

Эксперт

Эксперт

Дата регистрации:
29.06.2012 02:02:06

Сообщений: 88

Убедительно. Зато ошибка поменялась.
Профиль
12.02.2013 16:40:20 Регистрация и авторизация пользователя не работает Сообщение #6
LLIMATKO

LLIMATKO

Эксперт

Эксперт

Дата регистрации:
12.02.2013 15:31:03

Сообщений: 129

Странно щас сделал 2 разных файла, вроде прописал везде одно и тоже, только в одном работает, в другом выдает ошибку)

Меня бесит то, что меня бесит)))

ковыряюсь)
Профиль
12.02.2013 16:45:10 Регистрация и авторизация пользователя не работает Сообщение #7
ac-40-6.0

ac-40-6.0

Эксперт

Эксперт

Дата регистрации:
29.06.2012 02:02:06

Сообщений: 88

В общем и целом отсутствует подключение к базе.
Поменял пару строк ошибки пропали.
public function regUser($login, $password)
{
$this -> db = new mysqli("localhost", "root", "", "mybase";
$this -> db -> query("SELECT NAMES `utf8`";
$this -> db -> query("INSERT INTO `temp_user` (`login` , `password`) VALUES ('".$login."' , '".$password."')";
}
Профиль
12.02.2013 16:47:10 Регистрация и авторизация пользователя не работает Сообщение #8
ac-40-6.0

ac-40-6.0

Эксперт

Эксперт

Дата регистрации:
29.06.2012 02:02:06

Сообщений: 88

Не вызывается функция __constuct()
Профиль
12.02.2013 17:08:23 Регистрация и авторизация пользователя не работает Сообщение #9
LLIMATKO

LLIMATKO

Эксперт

Эксперт

Дата регистрации:
12.02.2013 15:31:03

Сообщений: 129

Ща буду разбираться) Спасибо за помощь, а гланое все делал так скахать по книге)
Профиль
12.02.2013 17:23:51 Регистрация и авторизация пользователя не работает Сообщение #10
ac-40-6.0

ac-40-6.0

Эксперт

Эксперт

Дата регистрации:
29.06.2012 02:02:06

Сообщений: 88

Да не за что. Тоже бывает мучаюсь.
Профиль