ホームページ > バックエンド開発 > PHPチュートリアル > PHPですべてのセッションIDを取得するにはどうすればよいですか?または、すべてのセッションを取得します

PHPですべてのセッションIDを取得するにはどうすればよいですか?または、すべてのセッションを取得します

WBOY
リリース: 2016-06-13 12:56:28
オリジナル
1137 人が閲覧しました

PHPですべてのセッションIDを取得するにはどうすればよいですか?または、すべてのセッションを取得します


.php ファイルを通じてすべてのセッション ID を読み取りたいだけですか?それともすべてのセッションを取得しますか? ?

セッション php
-----解決策--------------------------------
なぜ誰も返信しないのですか? ?
------解決策---------
print_r($_SESSION);
------解決策----------------------
すべてのユーザーにはセッション データベース、さらにはセッション管理システムが必要です
Google で検索すると、これまでの取り組みの結果が見つかります
-----解決策-------------------------- -------
セッション 高度な使用法では、セッションを memcache またはデータベースに書き込み、
を実現します------解決策---------- --------- -
 クラス セッション {<br>
プライベート静的 $handler=null;<br>
プライベート静的 $ip=null;<br>
プライベート静的 $lifetime=null;<br>
プライベート静的 $time=null;<br>
//変数を初期化します;<br>
プライベート静的関数 init($handler){<br>
self::$handler=$handler;<br>
//$_SERVER["REMOTE_ADDR"] はクライアントのルーティング アドレスを取得します <br>
self::$ip = !empty($_SERVER["REMOTE_ADDR"]) $_SERVER["REMOTE_ADDR"] : '不明';<br>
//ini_get() は設定ファイル変数を取得します。<br>
self::$lifetime=ini_get('session.gc_maxlifetime');<br>
self::$time=time();<br>
}<br>
<br>
静的関数 start(PDO $pdo){<br>
self::init($pdo);<br>
//_CLASS_ はこのクラスを表します。<br>
session_set_save_handler(<br>
array(__CLASS__,"open"),<br>
array(__CLASS__,"close"),<br>
array(__CLASS__,"read"),<br>
array(__CLASS__,"書き込み"),<br>
array(__CLASS__,"破壊"),<br>
array(__CLASS__,"gc")<br>
);<br>
<br>
session_start();<br>
}<br>
<br>
パブリック静的関数 open($path, $name){<br>
true を返します;<br>
}<br>
<br>
パブリック静的関数 close(){<br>
true を返します;<br>
}<br>
<br>
パブリック静的関数 read($PHPSESSID){<br>
$sql="select PHPSESSID、update_time、client_ip、PHPSESSID= ? のセッションからのデータ";<br>
<br>
$stmt=self::$handler->prepare($sql);<br>
<br>
$stmt->execute(array($PHPSESSID));<br>
<br>
if(!$result=$stmt->fetch(PDO::FETCH_ASSOC)){<br>
'';<br>を返します
}<br>
<br>
if( self::$ip != $result["client_ip"]){<br>
self::destroy($PHPSESSID);<br>
'';<br>を返します
}<br>
<br>
if(($result["update_time"] + self::$lifetime) < self::$time ){<br />
self::destroy($PHPSESSID);<br />
'';<br />を返します
}<br />
<br />
return $result['data'];<br />
<br />
}<br />
<br />
パブリック静的関数 write($PHPSESSID, $data){<br />
$sql="select PHPSESSID、update_time、client_ip、PHPSESSID= ? のセッションからのデータ";<br />
<br />
$stmt=self::$handler->prepare($sql);<br />
<br />
$stmt->execute(array($PHPSESSID));<br />
<br />
if($result=$stmt->fetch(PDO::FETCH_ASSOC)){<br />
if($result['data'] != $data <br><font color='#FF8000'>-----解決策---------</font> <br> self::$time > ($result['update_time']+30)){<br>
$sql="更新セッションセット update_time = ?, data =? where PHPSESSID = ?";<br>
<br>
$stm=self::$handler->prepare($sql);<br>
$stm->execute(array(self::$time, $data, $PHPSESSID));<br>
<br>
}<br>
}その他{<br>
if(!empty($data)){<br>
$sql="セッションに挿入(PHPSESSID, update_time, client_ip, data) 値(?,?,?,?)";
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート