OOPを使ってPDOを学ぼうとしているので、現在ログインスクリプトを書いています。ログインフォームのみを含む index.php ページがあります。それから私は User クラスを持っています、それは次のようになります:
<?php
include_once('database.php');
session_start();
class User{
public $id;
public $username;
public $password;
public $firstname;
public $lastname;
public function Login($username, $password) {
$db = new Database;
$db = $db->dbConnect();
$query = "SELECT * FROM users WHERE username = ? AND password = ?";
$statement = $db->prepare($query);
$statement->bindParam(1, $username);
$statement->bindParam(2, $password);
$statement->execute();
$rows = $statement->rowCount();
$data = $statement->fetchAll();
if( $rows == 1 ) {
$this->id = $data[0]['id'];
$this->username = $data[0]['username'];
$this->password = $data[0]['password'];
$this->firstname = $data[0]['firstname'];
$this->lastname = $data[0]['lastname'];
$_SESSION['SESSID'] = uniqid('', true);
header("location: dashboard.php");
}
}
}
?>
ユーザーがサインインすると、dashboard.php に移動します。そこから現在の User クラスにアクセスしたいので、そこから echo $user->username を使用できます。しかし、dashboard.php では、User クラスを new として宣言する必要があるため、すべての変数が保持されるわけではありません。
ログイン関数で宣言された Dashboard.php の User クラス変数にアクセスする方法についてのアイデアはありますか?
下手な説明で申し訳ありませんが、ご理解いただければ幸いです。前もって感謝します!