PHP と HTML
PHP と HTML は相互運用できます: PHP は HTML を生成でき、HTML は PHP に情報を渡すことができます。 1. フォーム/URL を使用して値を渡すとき、どのようにエンコード/デコードすればよいですか? タグは使用できませんが、$foo.x 変数はどこにありますか? 4. HTML 配列を作成するにはどうすればよいですか?チェックボックスからチェックボックスを選択します。すべての結果値を取得します。 1. フォーム/URL を使用して値を渡す場合、どのようにエンコード/デコードすればよいですか? 文字列変数 $data があるとします。エンコードされていない形式で渡すいくつかの文字が含まれており、次のエンコード段階を経る必要があります:
HTML 解釈 文字列を表すには、文字列を二重引用符で囲み、HTML 特殊文字に htmlspecialchars を使用する必要があります。文字の書き方。
URL: URL は複数の部分で構成されます。データを URL の一部として表示するには、
を使用してエンコードする必要があります。
例 52-1. 非表示の HTML フォーム要素
n";?>
注意: urlencode() データはブラウザーの責任であるため、ここで urlencode() $data を使用することはできません。どのようなメソッドが使用されても (GET POST)、考慮できるのは GET リクエストだけです。通常、POST リクエストは非表示になるためです。
例 52-2. ユーザーがデータを編集する
n"; echo htmlspecialchars($data)."n"; echo "";?>
注: ブラウザは HTML マークアップを解釈するため、ブラウザ ウィンドウに表示されるデータは読み取り可能な形式にデコードされます。
GET または POST にかかわらず、ブラウザはデータの送信時に URL エンコードを実行し、PHP がそれを実行します。すべて自動的にデコードされるため、何もする必要はありません。
例 52-3. URL 文字列内
n";?>
注: 実際には GET リクエストを自分で作成しているため、urlencode() を使用してエンコードすることが不可欠です。
注: URL 文字列は HTML 属性の一部であるため、URL 文字列全体を htmlspecialchars() する必要があります。この場合、ブラウザは最初に値を de-htmlspecialchars() してから、PHP を認識します。この URL 文字列は、urlencoded() でエンコードされているため、URL 文字列内の & は & に置き換えられますが、ほとんどのブラウザーではエンコードされますが、すべてのブラウザーでエンコードできるわけではありません。静的 URL を記述している場合でも、HTMLspecialchars() を使用して URL をエンコードする必要があります
2. 私は タグを使用しています。 .y 変数は使用できません。どこにありますか? フォームを送信する際、標準の送信ボタンを使用する代わりに画像コントロールを使用することができます。
ユーザーがイメージ コントロール内のどこかをクリックすると、フォームは 2 つの追加変数 foo .x と foo とともにサーバーに送信されます。 y.
$foo.x と $foo.y は PHP では無効な変数名であるため、自動的に $foo_x と $foo_y に変換されます。
3. HTML を作成するにはどうすればよいですか。