ホームページ  >  記事  >  バックエンド開発  >  PHP ページが初めてロードされたときを検出する方法

PHP ページが初めてロードされたときを検出する方法

WBOY
WBOYオリジナル
2016-06-23 14:12:481051ブラウズ

php は、.Net if(!ispostback) の

のようにどのように機能しますか
{
.....
}

ページが初めてロードされたかどうかを判断します。


ディスカッションへの返信(解決策)

なぜこのような判断を下すのか? PHP と .net は違いますよね?

セッション

Cookie で解決するはずです

グローバル変数を使用することもできます

define('PAGE1_PHP_LOADED', true) );

if(define('PAGE1_PHP_LOADED')) echo 'このページは初めて読み込まれません';

上記のスキームは C プロジェクトのヘッダー ファイルでよく使用されます

define('PAGE1_PHP_LOADED', true) ;

if(define ('PAGE1_PHP_LOADED')) echo 'このページは初めて読み込まれません'; cms がより頻繁に使用されます。

一緒に学びましょう、

5 階の回答からの引用:

define('PAGE1_PHP_LOADED', true);
if(define('PAGE1_PHP_LOADED')) echo 'このページは初めて読み込まれません';使用される cms 詳細。

$GLOBALS['a']='a';

if (isset($GLOBALS['a']))

ロードされました

acabin プランに同意します

最初のロードを決定するにはセッションまたは Cookie を使用できますロードするとき、値を与えます

ロードするとき、値が空でない場合、それは初めてのロードではありません


ロードは数回に分けられますか?すべてのロードは新しいスタートではありませんか? これは次のようなものです:

define('PAGE1_PHP_LOADED', true); echo 'このページは初めてロードされません';これは反映されるのでしょうか?

何回ロードする必要がありますか?すべてのロードは新しいスタートではありませんか? これは次のようなものです:

define('PAGE1_PHP_LOADED', true); echo 'このページは初めてロードされません';これは反映されるのでしょうか?
実はコードを逆に書いたんです

うわー

これで正解です

反映されるかどうかは、a.phpに入れてからb.phpで何回か呼び出すだけでOKです


まず。ポストバックとは正確に何なのかを調べる必要があります。
リテラルの意味は、ポスト メソッドのコールバックかどうかです。
リテラルの意味は $_SERVER['REQUEST_METHOD'] == "POST" です

しかし、.net はクライアント コードをパッケージ化できるため、物事はそれほど単純ではありません。これにより、プログラマーはサーバー側の言語を使用してクライアント コンポーネントを制御できるようになります (内部メカニズムについては説明しません)
したがって、.net はクライアント コードにいくつかの制御コードと識別コードを追加して、クライアントとサーバー間の対話を必要なく完了します。プログラマの介入のため
現時点では、ispostback はクライアントからのリクエストの性質を識別するために使用されます。これは、最初のリクエストには初期化操作が必要になる可能性がありますが、将来は必要なくなるためです


学習
まず第一に、次のことを行う必要があります。ポストバックとは正確に何ですか?
リテラルの意味は、ポスト メソッドのコールバックかどうかです。
リテラルの意味は $_SERVER['REQUEST_METHOD'] == "POST" です

しかし、.net はクライアント コードをパッケージ化できるため、物事はそれほど単純ではありません。これにより、プログラマーはサーバー側言語を使用してクライアント側コンポーネントを制御できるようになります (内部メカニズムについては説明しません)
したがって、.net はクライアント コードにいくつかの制御コードと識別コードを追加します...


理解するには、Webステートレスリクエストとは、セッションまたはCookieに値が設定されていない限り、すべてのリクエストがサーバーへの新しいリクエストであることを意味します。ただし、クライアントがCookieを無効にしているかどうかは判断する必要があることに注意してください。考慮されます。どの定義も無効です。 .net でも同じことが当てはまります。ispostback は、Cookie またはセッションから値を取得した変数である可能性があります。

Web はステートレスなリクエストであることを理解する必要があります。つまり、各リクエストはセッションまたは Cookie に値が設定されていないと判断できません。クライアントが Cookie を無効にしているかどうかを考慮する必要があります。どの定義も無効です。 .net でも同じことが当てはまります。ispostback は、Cookie またはセッションから値を取得した変数である可能性があります。

正解です。 。 。


何回ロードする必要がありますか?すべてのロードは新しいスタートではありませんか? これは次のようなものです:

define('PAGE1_PHP_LOADED', true);
if(define('PAGE1_PHP_LOADED')) echo 'このページは初めてロードされません';これは反映されるのでしょうか?
実はコードを逆に書いたんです
うわー
これで正解です

反映されるかどうかは、a.phpに入れてからb.phpで何回か呼び出すだけでOKです


書いてみます。こんなん絶対ダメ

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。