待望の PHP 4.0 機能はセッション サポートです。対照的に、PHP 3.0 ユーザーはサードパーティのライブラリを使用する必要があるか、この機能をまったく実装できません。セッションサポートの欠如は、PHP が最も批判されている点です。ただし、セッション サポートは初期のベータ リリース以来 PHP 4.0 の一部となっているため、この問題は解決されました。
セッションを使用すると、ユーザーが Web サイトにアクセスしている間、複数の Cookie を設定したり、非表示のフォーム フィールドを使用したり、頻繁に接続するデータベースに情報を保存したりすることなく、ユーザー固有の変数を維持できます。
ページ上でセッションを開始すると、PHP エンジンにセッションを開始するか (まだ開始されていない場合)、現在のセッションを継続するよう指示します。
session_start();
セッションを開始すると、認証メッセージがCookie 文字列 (940f8b05a40d5119c030c9c7745aead9 など) を介してユーザーにアクセスすると、サーバー側で同じ名前の対応する一時ファイルが作成されます (sess_940f8b05a40d5119c030c9c7745aead9 など)。このファイルには、登録されたセッション変数とその値が含まれています。
セッションアクションを表示する最も一般的な例はアクセスカウンターです:
PHPモジュールを起動し、PHPコードがファイルの最初の行であることを絶対に確認してください(空白やHTML出力などがない)。その理由は、セッション関数がファイル ヘッダーを送信するときに、session_start() 関数を呼び出す前に空の出力または HTML 出力が送信されると、システムでエラーが発生するためです。
//ユーザーのセッションが存在しない場合は、新しいセッションを開始します
session_start();
次に、count変数を登録します。
session_register('count');
変数を登録すると、セッションが存在する限り count という名前の変数も存在することが PHP に通知されます。現在、この変数には値が割り当てられていません。ただし、これに 1 を追加すると、値を 1 に割り当てることができます:
$count++;
上記の点をまとめると、次の作業が完了します: セッションを開始しました (以前のセッションがなかった場合)。セッション ID を割り当て (セッション ID が存在しない場合)、count という名前の変数を登録し、$count に 1 を追加して、これがユーザーのページへの最初の訪問であることを示します:
ユーザーが現在訪問していることを示すにはsession ページ数については、$count の値を出力するだけです:
echo "
You've been here $counttimes.
";$count 回ここに来ています。
";