我想在PHP对象上重写脚本。 我创建了脚本登录数据库(数据库连接工作)。
当您向数据库发送查询以检查用户是否存在时,会出现问题。
<?php
//DANE DO LOGOWANIA DO BD
define("DB_HOST", 'localhost');
define("DB_USER", 'michal');
define("DB_PASSWORD", '');
define("DB_DATABSE", 'kurs_php');
?>
<?php
//PLIK LOGOWANIA DO BD I SPRAWDZANIA POLACZENIA Z BD
class dbConnect {
function __construct() {
require_once 'config.php';
$db_mysqli = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABSE);
//$db_mysqli->query('SET NAMES utf8');
if (!$db_mysqli) {
die('Błąd połączenia (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
} else {
echo '<font size="2px" color="red">Info: Połączono z bazą danych.</font><br />';
}
}
public function CloseDb() {
mysqli_close();
}
}
?>
<?php
// KLASA Z FUNKCJAMI LOGOWANIE UŻYTKOWNIKA
class Functions {
function __construct() {
// connecting to database
$db_mysqli = new dbConnect();
}
function __destruct() {
}
public function Login($login, $hasloSha1) {
$result = $db_mysqli->prepare("SELECT haslo FROM uzytkownicy WHERE login=? AND haslo=?");
$result->bind_param('ss', $login, $hasloSha1);
$result->execute();
$result->store_result();
$row = mysqli_fetch_assoc($result);
$kodAktywowany = $row['kod'];
//sprawdzenie czy taki uzytkownik istnieje
if ($result->num_rows == 1) {
$_SESSION['logowanie'] = $login;
return TRUE;
} else {
return FALSE;
}
}
}
?>
答案 0 :(得分:0)
学习很好。您可能想要从基础开始。您的PHP类缺少用于存储/访问数据库连接的成员属性...
http://code.tutsplus.com/tutorials/object-oriented-php-for-beginners--net-12762