PHP セッション変数は、ユーザー セッション (セッション) に関する情報を保存したり、ユーザー セッション (セッション) の設定を変更したりするために使用されます。 Session 変数には 1 人のユーザーに関する情報が保存され、アプリケーション内のすべてのページで使用できます。
コンピューター上でアプリケーションを操作するときは、アプリケーションを開いて変更を加えて閉じます。それは会話によく似ています。コンピューターはあなたが誰であるかを知っています。アプリを開いたり閉じたりするタイミングを認識します。しかし、インターネットでは問題が発生します。HTTP アドレスは状態を維持できないため、Web サーバーはユーザーが誰であり、何をしたかを知りません。
PHP セッションは、後で使用できるようにユーザー情報 (ユーザー名、購入したアイテムなど) をサーバーに保存することで、この問題を解決します。ただし、セッション情報は一時的なものであり、ユーザーがサイトを離れると削除されます。 情報を永続的に保存する必要がある場合は、データをデータベースに保存できます。 セッションは、訪問者ごとに一意の ID (UID) を作成し、この UID に基づいて変数を保存することで機能します。 UID は Cookie に保存されるか、URL を通じて渡されます。セッションを開きます
まず、セッションを開く必要があるため、学習する最初の関数は
session_start()です この関数にはパラメータがありません。 PHP ファイルの先頭で
コメント を使用します。 session_start() 関数は <html> タグの前に配置する必要があります:
<?php session_start() ?>
< html><body> ;</body>
</html>
セッションデータを追加
セッション後、次の処理で$_SESSION 変数は、情報にアクセスするために使用されます。知っておく必要があるのは、$_SESSION 変数が配列であるということです。情報をセッションに保存したい場合、何を書けばよいでしょうか:
<?php $_SESSION['userName'] = 'wang'; ?>
セッションデータの読み取り
読み取りは、次のように配列を使用するのと同じくらい簡単です:
$userName = $_SESSION['userName'];
もちろん、
$_SESSION['userName']を使用することもできます。配列と同じように使用されます。セッション データを破棄する
セッション データを破棄するには、さまざまな方法を使用できます。
a) unset関数
unset($_SESSION['XXX']);
のようなものを使用して、セッション内のXXX変数を破棄します。
追記:やめてください!しないでください! unset($_SESSION) は行わないでください。unset($_SESSION) を実行すると、$_SESSION 変数が後で使用できなくなります。 ! !
b) セッション変数に空の配列を代入します
$_SESSION = array();
$_SESSOIN 変数は配列であると前に述べたので、空の配列の代入は $ と同等です現在のセッションの _SESSION 変数の値は破棄されます。
c) session_destory() 関数
この関数は、現在のセッション内のすべてのデータを破棄し、現在のセッションを終了します。ただし、現在のセッションに関連付けられているグローバル変数やセッション Cookie はリセットされません。セッション変数を保存および取得する正しい方法は、PHP $_SESSION 変数を使用することです:
<?php session_start(); // 存储 session 数据 $_SESSION['views']=100; ?> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php // 检索 session 数据 echo "浏览量:". $_SESSION['views']; ?> </body> </html>プログラム実行結果:Views: 100
Example
以下の例では、単純なページビューカウンターを作成しました。 isset() 関数は、「views」変数が設定されているかどうかを検出します。 「views」変数が設定されている場合は、カウンターをインクリメントします。 "views" が存在しない場合は、
"views" 変数を作成して 1 に設定します。ページが更新されるたびに 1 が追加されます
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 // 存储 session 数据 session_start(); if(isset($_SESSION['views'])) { $_SESSION['views']=$_SESSION['views']+1; } else { $_SESSION['views']=1; } echo "浏览量:". $_SESSION['views']; ?>プログラムを実行して、ビュー数を確認してください次のセクション