varfoo='bar';varbaz=;alert(baz );これがテキスト ファイルに「bar」を書き込まず、代わりに「42」を警告するのはなぜですか?"> クライアント側プログラミングとサーバー側プログラミングの比較: 両者の違いは何ですか?-PHP中国語ネットワークQ&A
クライアント側プログラミングとサーバー側プログラミングの比較: 両者の違いは何ですか?
P粉381463780
P粉381463780 2023-10-19 15:03:07
0
2
478

このコードがあります:

リーリー

なぜテキスト ファイルに「bar」が書き込まれず、代わりに「42」が警告されるのですか?


注: この質問の以前のリビジョンでは、サーバー上の PHP とクライアント上の JavaScript について明示的に言及していました。ある言語がクライアントで実行され、別の言語がサーバーで実行される場合 (言語が同じであっても)、問題の性質と解決策はどの言語でも同じです。特定の言語に関する回答を見つけた場合は、このことを考慮してください。

P粉381463780
P粉381463780

全員に返信 (2)
P粉757640504

PHPコードがJavaScriptコード内で機能しない理由を判断するには、クライアント側サーバー側##を理解する必要があります。 # は言語とは何か、そしてそれらはどのように機能するのかを示しています。

サーバーサイド言語 (PHP など)

: データベースからレコードを取得し、ステートレスHTTP経由でに接続し、多くの操作を実行します。セキュリティが必要なもの。これらのプログラムはサーバー上に存在し、ソース コードをユーザーに公開することはありません。したがって、サーバー側の言語がHTTPリクエストを処理して処理していることが簡単にわかります。@decezeが言ったように、

PHPはサーバー上で実行され、HTMLとおそらくJavaScriptコードを出力します。クライアントでは、HTML が解釈され、JavaScript が実行されます。

一方、

クライアント側言語 (JavaScript など)

はブラウザー内に存在し、ブラウザー内で実行されます。クライアントサイドスクリプトは通常、サーバーサイドではなく、ユーザーのWebブラウザによってクライアントサイドで実行されるネットワーク上のコンピュータプログラムの一種を指します。p>JavaScript はユーザーに表示され、簡単に変更できるため、セキュリティの観点から JavaScript に依存することはできません。

したがって、サーバーに

HTTP

リクエストを送信すると、サーバーはまず PHP ファイルを注意深く読み取って、実行する必要のあるタスクがあるかどうかを確認してから、クライアントに応答を送信します。繰り返しますが、@decezeが言ったように、*PHPが応答の出力を完了すると、スクリプトは終了し、新しいHTTPリクエストが到着するまでサーバー上では何も起こりません。 *それでは、PHP を呼び出す必要がある場合はどうすればよいでしょうか?これは、ページをリロードするか、AJAX 呼び出しを使用するかなど、これを行う必要がある方法によって異なります。

これを行うには、ページをリロードし、
    HTTP
  1. リクエストを送信します。JavaScript を使用して AJAX 呼び出しを行うことができます。これにはページをリロードする必要はありません。
  2. 良い読書:

Wikipedia: サーバーサイド スクリプティング
  1. Wikipedia: クライアント スクリプト
  2. うちはマダラ: クライアントサイドとサーバーサイドのプログラミングの違い
いいねを押す+0
    P粉218361972

    コードは、サーバー側クライアント側という2つの完全に独立した部分に分割されています。

    リーリー

    双方は HTTP リクエストとレスポンスを通じて通信します。 PHP はサーバー上で実行され、HTML コードと場合によっては JavaScript コードを出力します。これは応答としてクライアントに送信され、そこで HTML が解釈されて JavaScript が実行されます。 PHP が応答の出力を完了すると、スクリプトは終了し、新しい HTTP リクエストが到着するまでサーバー上では何も起こりません。

    サンプルコードは次のように実行されます:

    リーリー

    ステップ 1、PHP は タグ間のすべてのコードを実行します。結果は次のようになります:

    リーリー

    file_put_contentsこの呼び出しは結果を生成せず、ファイルに「foo」を書き込むだけです。 呼び出しの結果、出力「42」が生成され、コードが元々あった場所に配置されます。

    生成された HTML/JavaScript コードはクライアントに送信され、そこで評価されます。alert呼び出しは機能しますが、foo変数はどこにも使用されていません。

    すべての PHP コードは、クライアントが JavaScript の実行を開始する前にサーバー上で実行されます。応答には、JavaScript が操作できる PHP コードは残されていません。

    特定の PHP コードを呼び出すには、クライアントは新しい HTTP リクエストをサーバーに送信する必要があります。これは、次の 3 つの方法のいずれかを使用して実現できます。

      ブラウザに新しいページをロードさせるリンク。
    1. フォーム送信。データをサーバーに送信し、新しいページを読み込みます。
    2. AJAXリクエスト。これは、現在のページから離れることなく、サーバーへの通常の HTTP リクエスト (1. および 2. を参照) を生成するために使用される Javascript テクノロジです。

    これらの方法について詳しく説明する質問があります

    JavaScript を使用して、ブラウザで新しいページを開いたり、

    window.locationを使用してフォームを送信したりして、可能性 1. と 2. をシミュレートすることもできます。

    いいねを押す+0
      最新のダウンロード
      詳細>
      ウェブエフェクト
      公式サイト
      サイト素材
      フロントエンドテンプレート
      私たちについて 免責事項 Sitemap
      PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!