セッションの使用法
PHP 4.0 には、PHP セッションのサポートという待望の機能があります。対照的に、PHP 3.0 ユーザーはサードパーティのライブラリを使用する必要があるか、この機能がまったくありません。セッション サポートの欠如は、PHP の最大の欠陥の 1 つであり、最も批判されている側面です。ただし、セッション サポートは初期のベータ版から PHP 4.0 に組み込まれているため、この障害はなくなりました。
セッション サポートを使用すると、複数の Cookie を設定したり、非表示のフォーム フィールドを使用したり、頻繁に接続するデータベースに情報を保存したりすることなく、ユーザーが Web サイトにアクセスしている間、ユーザー固有の変数を維持できます。
ページ上でセッションを開始すると、セッションを開始するか (以前にセッションがなかった場合)、現在のセッションを継続するかを PHP エンジンに伝えます:
session_start();
セッションを開始すると Cookie が送信されます。ユーザー識別文字列 (940f8b05a40d5119c030c9c7745aead9 など) を指定すると、これに一致する一時ファイルが作成されます。上記の例では、その名前は sess_940f8b05a40d5119c030c9c7745aead9 のようになります。このファイルには、登録されたセッション変数とその割り当てが含まれています。
ユーザー アクセス カウンタは、セッションを使用する最も一般的な例です。
PHP モジュールを起動し、PHP コードがファイルの最初の行であることを確認します (空白や HTML 出力などがない)。これは、セッション関数がファイル ヘッダーを発行するときに、session_start() 関数の前に空白または HTML コードを送信すると、システムがエラーを報告するためです。
// このユーザーのセッションがまだ存在しない場合は、セッションを開始します
次に、count という名前の変数を登録します。
session_register('count');
変数を登録することは、セッションが存在する限り count という名前の変数も存在することを PHP に伝えることと同じです。この変数にはまだ値が割り当てられていません。ただし、これに 1 を追加すると、値を 1 に割り当てることができます:
$count++;
上記のコード行を合わせて考えると、(まだ開始していない場合は) 実際にセッションを開始したことになります。セッション ID を取得し、count という名前の変数を登録し、ユーザーのページへの最初の訪問を示すために $count を 1 ずつ増分します:
現在のセッションでユーザーがページを訪問した回数を表示するには、値を出力するだけです。 of $count 以上:
echo "
$count 回ここに来ました。
";$count 回ここに来ました。
"