PHP セッション
- 前のページ PHP クッキー
- 次のページ PHP E-mail
PHPセッション変数は、ユーザーセッションに関する情報を保存したり、ユーザーセッションの設定を変更するために使用されます。セッション変数が保存する情報は単一のユーザーのものであり、アプリケーションのすべてのページで使用できます。
PHPセッション変数
アプリケーションを実行するときは、それを開き、変更を行い、閉じます。これがセッションと非常に似ています。コンピュータはあなたが誰であるかを把握し、アプリケーションを起動した時と終了した時を知っています。しかし、インターネットでは、サーバーがあなたが誰であるかや行動を知らない問題があります。これはHTTPのアドレスが状態を維持できないためです。
ユーザーの情報をサーバー上に保存し、その後使用するようにすることで、PHPセッションはこの問題を解決します(例えば、ユーザーの名前、購入した商品など)。ただし、セッション情報は一時的であり、ユーザーがウェブサイトを離れた後に削除されます。情報を永続的に保存する必要がある場合は、データベースにデータを保存することができます。
セッションの動作メカニズムは、各訪問者に対してユニークなID(UID)を作成し、そのUIDに基づいて変数を保存することです。UIDはcookieに保存されるか、URLを通じて伝播されます。
PHPセッションの開始
ユーザーの情報をPHPのセッションに保存する前に、まずセッションを開始する必要があります。
注記:session_start()関数は<html>タグの前に配置する必要があります:
<?php session_start(); ?> <html> <body> </body> </html>
上記のコードは、ユーザーの情報を保存し始めるためにサーバーにユーザーのセッションを登録し、UIDをユーザーセッションに割り当てるために使用されます。
セッション変数の保存
セッション変数の保存と取得を行う正しい方法は、PHPの$_SESSION変数を使用することです:
<?php session_start(); // store session data $_SESSION['views']=1; ?> <html> <body> <?php //retrieve session data echo "Pageviews=". $_SESSION['views']; ?> </body> </html>
出力:
Pageviews=1
以下の例では、シンプルなページビューカウンタを作成しています。isset() 関数を使用して「views」変数が設定されているかどうかを確認します。もし「views」変数が設定されている場合、カウンタを累積します。もし「views」が存在しない場合、新しい「views」変数を作成し、それを 1 に設定します:
<?php session_start(); if(isset($_SESSION['views'])) $_SESSION['views']=$_SESSION['views']+1; else $_SESSION['views']=1; echo "Views=". $_SESSION['views']; ?>
セッション終了
セッションデータの一部を削除する場合は、unset() または session_destroy() 関数を使用できます。
unset() 関数は指定されたセッション変数を解放するために使用されます:
<?php unset($_SESSION['views']); ?>
また、session_destroy() 関数を使用してセッションを完全に終了することもできます:
<?php session_destroy(); ?>
注記:session_destroy() はセッションをリセットし、すべての保存されたセッションデータを失います。
- 前のページ PHP クッキー
- 次のページ PHP E-mail