ホームページ >バックエンド開発 >PHPチュートリアル >PHPセッション管理
セッション変数を再度使用する必要がある場合は、session_start() 関数を再度呼び出す必要があります。セッションを完全に破棄するには、たとえばユーザーがログアウトするとき、セッション ID もリセットする必要があります。 セッション ID が Cookie を介して送信される場合、setcookie() 関数を呼び出してクライアントのセッション Cookie を削除する必要もあります。 1. セッションは現在 $_COOKIE[session_name()];session_name() が存在するかどうかを判断し、session_id を保存する COOKIE キーの値を返します。この値は php.ini から見つけることができます。存在しない場合は session_id が生成され、生成された session_id が COOKIE の値としてクライアントに渡されます。これは、次の COOKIE を実行するのと同等です。
操作では、このステップでは setcookie() 操作が実行され、ヘッダーで COOKIE が送信されることに注意してください。これより前に出力することはできません。 PHPには別の関数があります
session_regenerate_id()、この関数を使用する場合、これより前には出力はありません。 ️ setcookie
Session.cookie_domain,//デフォルトは空です ) 存在する場合、 session_id =$_COOKIE[session_name() ]; 次に、session.save_path で指定されたフォルダーに移動して、
'SESS_' という名前のファイルを見つけます。 .session_id()。ファイルの内容を読み取り、デシリアライズし、それを $_SESSION に追加します。たとえば、新しい値 $_SESSION['test'] ='blah'; を追加します。 $_SESSION はメモリ内にのみ保持され、スクリプトの実行が終了すると、$_SESSION の値が session_id で指定されたフォルダーに書き込まれ、関連するリソースが閉じられます。通常はインスタント COOKIE であり、ブラウザを閉じると期限切れになります。ブラウザを閉じる代わりにログアウトするなど、手動で有効期限を強制する必要がある場合は、コード内の SESSION を破棄する必要があります。
1].
setcookie(session_name(),session_id(),time() - 8000000,..);//ログアウトする前に実行する
();//この関数はより完全で、$_SESSION を削除し、セッション ファイルと session_id を削除します。 ブラウザを閉じずに再度ブラウザを更新すると、2と3にCOOKIEが送信されますが、データが見つかりません。
<?php
// 初始化会话
session_name('Session_test');
session_id('safdsadfasdfsadfasdf');
session_start();
$_SERVER['user'] = 'admin';
echo $_SERVER['user']."<br>";
echo $_COOKIE[session_name()];
//// 重置会话中的所有变量 -- 使用unset可以重置某个会话变量
// $_SESSION = array();
// // 同时删除会话 cookie
// if (ini_get("session.use_cookies"))
// {
// $params = session_get_cookie_params();
// setcookie(session_name(), '', time() - 42000,
// $params["path"], $params["domain"],
// $params["secure"], $params["httponly"]);
// }
// // 最后,销毁会话
// session_destroy();
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
</body>
</html>
著作権声明: この記事はブロガー Lang Ya Studio によるオリジナルの記事であり、ブロガーの許可なく複製することはできません。
以上、PHP セッション管理についてその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。