ホームページ バックエンド開発 PHPチュートリアル PHP スクリプト作成の 10 のヒント (2)_PHP チュートリアル

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

Jul 21, 2016 pm 04:04 PM
php セッション スキル 期待 特性 使用法 脚本

セッションの使用法
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 ユーザーはサードパーティのライブラリを使用するか、完全に使用する必要があります...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

See all articles