ホームページ >バックエンド開発 >PHPチュートリアル >ソファで会話(2)_PHPチュートリアル

ソファで会話(2)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:19:31884ブラウズ

p align=left>初回セッション

セッションがどのように機能するかを示す標準的な例の 1 つは、クリック数カウント アプリケーションです。これは、初めて Web ページにアクセスしたときと、Web ページをリロードするたびに変数を初期化する単純なセッションベースのカウンターです。このページではカウントが増加します。コードは次のとおりです:

$#@60;?php

//セッションを初期化します session_start();

//セッション変数を登録します

?$#@62;

PHP4では、各セッションはsession_start()関数を呼び出すことで開始されます。この関数はセッションが存在するかどうかを確認し、存在しない場合は新しいセッションを作成します。次に、session_register() 関数を使用して、セッション全体にわたって存在する変数を登録します。上記の例では、変数の名前は「counter」で、値は割り当てられていません。


それでは、上記の例に数行のコードを追加してみましょう。クリック数のカウントが機能し始めます:

$#@60;?php


//セッションを初期化する session_start();

//セッション変数を登録する session_register(counter); //カウンタを増やす $counter++;echo("このページにアクセスしました$ カウンタータイム! 他にやることないの?!");

?$#@62;

試してみてください!ページをリロードするたびにカウンター値が増加します。これは、変数がセッションにどのように保存されるかを示しています。

なぜこのようなことが起こるのでしょうか?セッションが作成されるたびに、セッション Cookie (PHPSESSID と呼ばれる) がクライアント システム上に作成され、乱数が割り当てられます。同時に、サーバー側にも同様のエントリが作成され、セッション内の情報が含まれます。に登録されている変数。クライアントとサーバー間の通信は、同じ名前のセッションの識別番号 (id) を通じて行われるため、セッション全体にわたって異なる変数を保存できます。


もう少し複雑なことを見てみましょう?この例を見てください。これは、ページがリロードされたときに経過した時間を知らせるセッション変数を使用したタイマーを示しています。

$#@60;?php

session_start();


//session 変数はカウンターを保存するために使用されます session_register(counter);

//session 変数は最後にロードされた時刻の値を保存するために使用されます

//この値は 2 つの異なるセッションを比較するために保存されます_register(timeAtLastLoad);

//現在の時刻 $timeNow = time();


//カウントを増やします

//2 つの時刻の間の時間間隔を計算します$ timeLapsed = $timeNow - $timeAtLastLoad;

//? メッセージ if($counter $#@62; 1)
{
echo "$#@60;b$#@62;前回から $timeLapsed 秒経過しました
このページを閲覧しました。$#@60;/b$#@62;";
}
else
{
echo "$#@60;b$#@62;初めてこのページをリロードして、
セッションは機能します!$#@60;/b$#@62;";

}

$timeAtLastLoad = $timeNow;

?$#@62;



http://www.bkjia.com/PHPjc/532661.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/532661.html技術記事 p align=left 最初のセッション セッションがどのように機能するかを示す標準的な例の 1 つは、クリック数カウント アプリケーションです。これは、最初のアクセス時にカウントされるシンプルなセッションベースのカウンターです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。