PHP と MySQL 入門 (4)

Jun 23, 2016 pm 02:31 PM

ユーザーインタラクションとフォーム

私たちが興味を持っている多くの PHP アプリケーションの最も基本的な機能は、このページを閲覧しているユーザーと対話することです。 JavaScript に精通している場合は、多くのユーザー アクション (ページ上のリンク上でマウスを移動するなど) に直接応答するトランザクション処理モデルに慣れているでしょう。 PHP のようなサーバー側スクリプト プログラムの場合、ユーザーとの対話に使用されるアクティビティの範囲ははるかに小さく、ユーザーとの対話は、ユーザーがサーバーにリクエストを送信し、サーバーが動的ページで応答するまでの間にのみ発生します。

ユーザーが PHP と対話するための鍵は、新しい Web ページに対するユーザーのリクエストに含まれる可能性のある情報を理解することです。これから説明するように、PHP を使用すると、このタスクが非常に簡単になります。

最も簡単な方法は、「URL クエリ文字列」を使用してページリクエストの情報を出力することです。ファイル名の後に疑問符が含まれている URL を見たことがあれば、それが使用されているテクニックです。簡単な例を見てみましょう。標準の HTML ファイルを作成し (必ずしも .php 拡張子を使用する必要はありません。このファイルには PHP コードが含まれません)、次のリンクをそれに追加します:

こんにちは、ケビンです!

これは、welcome.php というファイルへの接続ですが、このファイルへの接続中、まだページリクエストを行っています変数が渡されますで。この変数は、URL の疑問符の後にある「クエリ文字列」の一部として渡されます。この変数の名前は name で、その値は Kevin です。つまり、welcome.php をロードする接続を確立し、このファイルに含まれる PHP コードに名前が Kevin に等しいことを伝えます。

これが私たちにどのようなメリットをもたらすかを理解するには、welcome.php を見てみる必要があります。新しい HTML ファイルとして再度作成しますが、今回は .php 拡張子を使用することを忘れないでください。これにより、このファイル内に解釈する必要のある PHP コードがあることが Web サーバーに通知されます。 Web サーバーが PHP ファイルの拡張子として .php をまだ受け入れていない場合は、名前を welcome.php3 に変更する必要がある場合があります (その場合、上記のコード内の接続もそれに応じて調整する必要があります)。この新しいファイルに、次のように入力します:

echo( "Welcome to our Web site, $name!" );
?>

最初のファイルのリンクをクリックすると、「Web サイトへようこそ、Kevin!」というページが表示されます。URL クエリ文字列を通じて渡された変数の値は、$name という変数に自動的に割り当てられます。渡された場合、渡された変数をテキストに表示します。

必要に応じて、クエリ文字列を介していくつかの変数を渡すこともできます。この例のもう少し複雑なバージョンを見てみましょう。 HTML ファイル内のリンクを次のように変更します。


こんにちは、Kevin Yank です。

今回は、firstname と lastname という 2 つの変数を渡します。これらの変数は、クエリ文字列内で & 記号で区切られます。各 name=value ペアをアンパサンドで区切れば、さらに多くの変数を渡すことができます。

前に述べたように、welcome.php ファイルで次の 2 つの変数の値を使用できます:

echo( "私たちの Web サイトへようこそ、
$firstname $lastname ! " );
?>

すべて問題ないようですが、ユーザーと真に対話するという目標はまだ達成できていません。ユーザーは任意の情報を入力して送信できるはずです。PHP に処理させましょう。 。パーソナライズされたウェルカム ページの例を続けて、ユーザーが自分の名前を任意に入力してメッセージに表示できるようにしたいと思います。ユーザーがデータを入力できるようにするには、HTML フォームを使用する必要があります。
フォームのコードは次のとおりです:


名:

姓:

ここに任意の名前を入力できることを除けば、このフォームの効果は上記の 2 番目の接続とまったく同じです (クエリ文字列で firstname=Kevin& lastname=Yank を使用)。送信ボタン (「GO」とマークされている) を押すと、ブラウザーは welcome.php をロードし、変数とその値をクエリ文字列に自動的に追加します。変数名は INPUT TYPE=TEXT タグの NAME 属性で、変数値はユーザーが入力した対応する内容です。

INPUT TYPE=TEXT タグの METHOD 属性は、リクエストで変数名と変数値を送信する方法をブラウザーに指示するために使用されます。 GET (上で使用したもの) はクエリ文字列で変数を渡すことを意味しますが、別のオプションもあります。クエリ文字列内の変数の表示は必ずしも満足のいくものであるとは限りません。場合によっては、技術的に実行できない場合もあります。ユーザーが大量のテキストを入力できるようにフォームに TEXTAREA タグを含めると、このテキストは長すぎてクエリ文字列に表示できず、ブラウザーでサポートされている最大 URL 長を超えます。別の方法では、ブラウザーが暗黙的に情報を渡すことができます。このメソッドのコードは、フォーム メソッドを GET から POST に変更した点を除いて、上記のフォームのコードとほぼ同じです。

名:

姓:

このフォームは、機能的には前のフォームと同じです。唯一の違いは、ユーザーが「GO」ボタンを押したときにロードされるページの URL にはクエリ文字列が含まれないことです。これにより、クエリ文字列に表示せずに、フォームを通じて大量のデータや機密データ (パスワードなど) を送信できるようになります。一方、ユーザーがフォームの送信によって生成された結果ページをお気に入りに追加した場合、そのお気に入りには送信されたデータが含まれていないため、役に立ちません。さらに、ちなみに、AltaVista のような検索エンジンは常にクエリ文字列を使用してクエリ条件を送信します。その主な理由は、ユーザーが将来同じ検索を実行するためにクエリ結果ページをお気に入りに追加しやすくするためです。 URLに含まれています。

ここでは、フォームを使用して PHP とのユーザー対話を実現する基本原則について説明します。今後の例では、より高度な問題とテクニックについて説明します。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 Apr 03, 2025 am 12:04 AM

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

See all articles