私は別の機能として使用したいくつかの機能(小さな機能の下に貼り付け)を持っており、うまく機能しました。PHPクラス内でのクッキーとセッションの操作
今、このファンクションをいくつかのクラスに移動したいと思います。ご覧のとおり、$_SESSION
と$_COOKIE
で動作します。
質問この関数を呼び出すときに$_SESSION
と$_COOKIE
を入力データとして送信する必要がありますか(つまり、protect($_SESSION, $_COOKIE)
のような呼び出しをしてから、関数内から呼び出します)。それを送信せずに動作しますか?あなたは、彼らがスーパーグローバルあるよう$_SESSION
または$_COOKIE
変数を渡す必要がいけない
...
public function protect() {
session_start();
if (isset($_SESSION['HTTP_USER_AGENT'])) {
if ($_SESSION['HTTP_USER_AGENT'] != md5($_SERVER['HTTP_USER_AGENT'])) {
$this->logout();
exit;
}
}
if (!isset($_SESSION['id']) && !isset($_SESSION['login'])) {
if (isset($_COOKIE['id']) && isset($_COOKIE['key'])) {
...
このクラス/機能はすべてログインとユーザー認証に関するものですか? (もしそうなら、PHPセッションとクッキーのインターフェースは大丈夫です。) – mario