PHP 開(kāi)発基本チュートリアル - セッション
1. PHP Session の概要
前のセクションの學(xué)習(xí)を通じて、Cookie はクライアントにデータを保存することでサーバーとの接続を維持し、Session はデータをクライアントに保存することでサーバーとの接続を維持することがわかりました。サーバーに接続狀態(tài)を維持します。
PHP セッション変數(shù)は、ユーザー セッション (セッション) に関する情報(bào)を保存したり、ユーザー セッション (セッション) の設(shè)定を変更したりするために使用されます。セッション変數(shù)には単一ユーザーの情報(bào)が保存され、アプリケーション內(nèi)のすべてのページで使用できます。
2. PHP セッション変數(shù)
コンピューター上でアプリケーションを操作するときは、アプリケーションを開(kāi)いて、いくつかの変更を加えてから閉じます。それは會(huì)話によく似ています。コンピューターはあなたが誰(shuí)であるかを知っています。アプリを開(kāi)いたり閉じたりするタイミングを認(rèn)識(shí)します。しかし、インターネットでは問(wèn)題が発生します。HTTP アドレスは狀態(tài)を維持できないため、Web サーバーはユーザーが誰(shuí)で何をしているのかを知りません。
PHP セッションは、後で使用できるようにユーザー情報(bào) (ユーザー名、購(gòu)入したアイテムなど) をサーバーに保存することで、この問(wèn)題を解決します。ただし、セッション情報(bào)は一時(shí)的なものであり、ユーザーがサイトを離れると削除されます。情報(bào)を永続的に保存する必要がある場(chǎng)合は、データをデータベースに保存できます。
セッションは、訪問(wèn)者ごとに一意の ID (UID) を作成し、この UID に基づいて変數(shù)を保存することで機(jī)能します。 UID は Cookie に保存されるか、URL を通じて渡されます。
3. PHP セッションを開(kāi)始する
ユーザー情報(bào)を PHP セッションに保存する前に、まずセッションを開(kāi)始する必要があります。
注: session_start() 関數(shù)は <html> タグの前に配置する必要があります:
<?php session_start(); ?> <html> <body> </body> </html>
上記のコードは、ユーザー情報(bào)の保存を開(kāi)始できるようにユーザーのセッションをサーバーに登録し、UID をユーザーのセッション。
4. セッション変數(shù)を保存する
セッション変數(shù)を保存および取得する正しい方法は、PHP $_SESSION 変數(shù)を使用することです:
例: コードは次のとおりです
<?php session_start(); // 存儲(chǔ) session 數(shù)據(jù) $_SESSION['views']=10000; ?> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <?php // 檢索 session 數(shù)據(jù) echo "瀏覽量:". $_SESSION['views']; ?> </body> </html>
出力は次のとおりです。右
以下の例では、単純なページビューカウンターを作成しました。 isset() 関數(shù)は、「views」変數(shù)が設(shè)定されているかどうかを検出します。 「views」変數(shù)が設(shè)定されている場(chǎng)合は、カウンターをインクリメントします。 「views」が存在しない場(chǎng)合は、「views」変數(shù)を作成して1に設(shè)定します。 コードは次のとおりです
<?php session_start(); if(isset($_SESSION['views'])) { $_SESSION['views']=$_SESSION['views']+1; } else { $_SESSION['views']=1; } echo "瀏覽量:". $_SESSION['views']; ?>
出力は右のようになります
更新されるたびにビュー數(shù)が増加しますone
5. セッションの破棄
セッション データを削除したい場(chǎng)合は、unset() または session_destroy() 関數(shù)を使用できます。
unset() 関數(shù)は、指定されたセッション変數(shù)を解放するために使用されます:
<?php session_start(); if(isset($_SESSION['views'])) { unset($_SESSION['views']); } ?> 我們也可以通過(guò)調(diào)用 session_destroy() 函數(shù)徹底銷(xiāo)毀 session: <?php session_destroy(); ?>
注: session_destroy() はセッションをリセットし、保存されているセッション データはすべて失われます。
注: Cookie とセッションの違い