PHP スクリプト作成の 10 のヒント (2)_PHP チュートリアル

WBOY
リリース: 2016-07-21 16:04:27
オリジナル
912 人が閲覧しました

セッションの使用法
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 回ここに来ました。

";

アクセス カウンターのコード全体は次のとおりです:

session_register( 'count');
$count++;
echo "

$count 回ここに来ました。

"

カウント値が増加していることを確認できます。面白い?

セッションに配列を登録することもできます。 $faves という配列があるとします。

$faves = array ('chocolate','coffee','beer','linux');

他の単一変数と同じように配列を登録できます:

session_register( 'faves');

配列のインデックス付けと、$faves などの他の単一変数のインデックス付けに違いはありません。ユーザーが Web サイトのページに自分の趣味を表示したい場合は、ユーザーの好きなものを $faves というセッション変数として登録し、これらの値を他のページに出力できます。
session_start();
echo "私のユーザーは:
    ";

    while (list(,$v) = each ($faves)) {
    echo "
  • $v ";
    echo "
";
?>

これがユーザーの趣味の美しいリストです。

セッション変数はクエリ文字列で上書きできません。つまり、http:///www.yourdomain.com/yourscript.php?count=56 のような命令を入力して、登録されたセッション変数 $count に新しい値を割り当てることはできません。これはセキュリティ上の理由から非常に重要です。変更または削除できるのは、サーバー側スクリプトの (未登録の) セッション変数のみです。

セッション変数を完全に削除したい場合は、システムから変数の登録を解除できます:

session_unregister('count');

ログアウト ボタンを押すなど、セッションを完全に削除するには、次のようにします。次のコードを記述できます:

session_destroy();

セッションを使用して変数値を保存すると、データベース処理コードを記述する手間が省け、システムの負荷が過度に増加することがなくなります。独自のデータベース構文の範囲を使用すると、サイトを訪問するユーザーに大量の Cookie を送信する必要がなくなります。しかし今では、すべてを完了するには 1 つの Cookie と 1 つの変数だけが必要です。実際には、すべての栄光を反映するのは単なる水です。これほど簡単なことはありません。

www.bkjia.com本当http://www.bkjia.com/PHPjc/315948.html技術記事セッションの使用法 PHP 4.0 には、PHP のセッション サポートという待望の機能があります。対照的に、PHP 3.0 ユーザーはサードパーティのライブラリを使用するか、完全に使用する必要があります...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート