Dzięki za wskazówki, udało mi się ten problem pokonać
Teraz natomiast mam zagwostkę, bo chyba moje połączenie z bazą danych nie jest widoczne w klasie, która tego połączenia potrzebuje.
index.php
ini_set('display_startup_errors', 1
);
include 'class/login.class.php';
$core = new Core;
$pdo = $core -> DBconnection();
$objLogin = new Login();
if ($objLogin->userLogin("login_użytkownika", "hasło_użytkownika") == true) {
echo "Użytkownik został zalogowany do system!"; } else {
echo "Użytkownik nie został zalogowany. Błędne hasło lub login użytkownika!"; }
login.class.php
ini_set('display_startup_errors', 1
);
include 'class/core.class.php';
class Login extends Core {
// Przechowuje informację, czy użytkownik jest zalogowany (true), czy nie (false)
protected $logged_in;
// Identyfikator zalogowanego użytkownika
protected $user_id;
// Login użytkownika
protected $login;
// Przechowuje hasło użytkownika
protected $md5_password;
public function __construct() {
parent::__construct();
}
public function userLogin($str_username, $str_password) {
$this->md5_password = md5($str_password); $_SESSION['username'] = $str_username;
$_SESSION['password'] = $this->md5_password;
$statement = $this->db->prepare('SELECT id, 1name, level FROM users WHERE login = :login AND pass = :pass');
$statement->bindValue(':login', $this->login, PDO::PARAM_INT);
$statement->bindValue(':pass', $this->pass, PDO::PARAM_INT);
$statement->execute();
foreach($statement as $row)
{
echo($row['1name']." ".$row['level']."<br />"); }
$statement->closeCursor();
}
}
core.class.php
ini_set('display_startup_errors', 1
); class Core
{
private $configData = 'configs/config.ini';
public function __construct()
{
self::$config = $file;
} else {
return false;
}
header('Content-Type: text/html; charset=' . self::$config['system']['charset']); if (phpversion() < self::$config['system']['PHPVersion']) { die('Your server must be in' . self::$config['system']['PHPVersion'] . ' PHP version or higher.'); }
return null;
}
public function DBconnection()
{
try {
$db = new PDO(self::$config['db']['driver'] . 'dbname=' . self::$config['db']['db_name'] . ';host=' . self::$config['db']['host'], self::$config['db']['user'], self::$config['db']['password']);
}
catch (PDOException $e) {
}
}
public function closeConnection() {
$this->db = null;
}
}
Mam wrażenie, że łączę się z bazą tak, że w momencie gdy próbuję wykonać zapytanie SQL, to nie mam tam połączenia. Nie bardzo wiem jak to rozwiązać. Gdzie najlepiej wywołać połączenie by było dostępne?