Witam przerzuciłem się ostatnio z mysqli na PDO i mam problem z kodem. Siedzę już troszkę nad tym i niezbyt wiem gdzie popełniam błąd.
index.php
<?php
session_start();
require_once('application/core.php');
?>
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title><?php echo $core->webName.' - '.$core->webDescription;?></title>
</head>
</html>
<body>
<form method="post" action="list.php">
<label>Login <input type="text" name="login"></label>
<label>Hasło <input type="password" name="pass"></label>
<input type="submit" value="Zaloguj">
</form>
</body>
core.php
<?php
class Web{
public $webName;
public $webDescription;
public $host;
public $user;
public $pass;
public $database;
public $db;
public function __construct(){
$this->webName = 'Test';
$this->webDescription = 'Test';
$this->host = 'localhost';
$this->user = 'root';
$this->pass = '';
$this->database = 'strona';
try{
$db = new PDO('mysql:host='.$this->host.';dbname='.$this->database.';charset=utf8', $this->user, $this->pass, [
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
} catch (PDOException $error){
exit('Database error');
}
}
}
$core = new Web;
list.php
<?php
session_start();
if (isset($_POST['login'])) {
$login = filter_input(INPUT_POST, 'login');
$password = filter_input(INPUT_POST, 'pass');
//echo $login . " " .$password;
require_once('application/core.php');
$sql = "SELECT id_user, pass FROM user WHERE user = :user";
$stmt = $core->db->prepare($sql);
$stmt->bindValue(':user', $login, PDO::PARAM_STR);
$stmt->execute();
echo $stmt->rowCount();
} else {
header('Location: index.php');
exit();
}
?>
<!DOCTYPE html>
<html>
WORK!
</html>