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й день ищу, облазил инет и прошкудировал весь пхп код до запятой)
Мб кто видит ошибку?