PHPセッション

PHP セッション変数は、ユーザー セッション (セッション) に関する情報を保存したり、ユーザー セッション (セッション) の設定を変更したりするために使用されます。 Session 変数には 1 人のユーザーに関する情報が保存され、アプリケーション内のすべてのページで使用できます。


PHP セッション変数

コンピューター上でアプリケーションを操作するときは、アプリケーションを開いて変更を加えて閉じます。それは会話によく似ています。コンピューターはあなたが誰であるかを知っています。アプリを開いたり閉じたりするタイミングを認識します。しかし、インターネットでは問題が発生します。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'];
?>

プログラムを実行して、ビュー数を確認してください

学び続ける
||
<?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>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜