PHPとHTMLは多くの相互作用をします。PHPはHTMLを生成でき、HTMLはPHPに情報を渡すことができます。 これらのfaqを読む前に、外部ソースから変数を取得する方法を学ぶことが重要です。 マニュアルページはこの話題を含む多くの事例です。
フォーム/URLを介して値を渡すときに必要なエンコーディング/デコードは何ですか?
エンコーディングが重要ないくつかの段階があります。, エンコードされていない方法で渡したい文字列を含む文字列$dataがあると仮定すると、これらは関連する段階です:
-
HTML解釈。 ランダムな文字列を指定するには、二重引用符で囲み、htmlspecialchars()値全体を含める必要があります。
-
URL:URLはいくつかの部分で構成されます。 データを一つのアイテムとして解釈するには、urlencode()でエンコードする必要があります。,
例#1非表示のHTMLフォーム要素
<?php
echo '<input type="hidden" value="' . htmlspecialchars($data) . '" />'."\n";
?>
注:urlencode()$dataは、データをurlencode()するブラウザの責任であるため、間違っています。 すべての大人気ブラウザでいます。 これは、メソッド(つまり、GETまたはPOST)に関係なく発生することに注意してください。 ただし、POST要求は通常隠されているため、GET要求の場合にのみこれに気付くでしょう。,
注:ブラウザはHTMLエスケープされたシンボルを解釈するため、データは意図したとおりにブラウザに表示されます。 送信すると、GETまたはPOSTのいずれかを介して、データは転送のためにブラウザによってurlencodedされ、PHPによって直接urldecodedされます。 したがって、最終的には、urlencoding/urldecodingを自分で実行する必要はなく、すべてが自動的に処理されます。,
Url内の例3
<?php
echo '<a href="' . htmlspecialchars("/nextpage.php?stage=23&data=" .
urlencode($data)) . '">'."\n";
?>
注:実際にはHTML GETリクエストを偽造しているため、データを手動でurlencode()する必要があります。
注:URLはHTML属性の値として発生するため、URL全体をhtmlspecialchars()する必要があります。 この場合、ブラウザは最初に値をun-htmlspecialchars()してからURLを渡します。 データをurlencode()dするため、PHPはURLを正しく理解します。, URLの
&
が&
に置き換えられていることに気付くでしょう。 ほとんどのブラウザの復興を忘れてしまった場合は、ここだけではない可能です。 したがって、URLが動的でない場合でも、URLをhtmlspecialchars()する必要があります。
<入力タイプ=”image”>タグを使用しようとしていますが、$fooです。xと$foo。y変数は使用できません。 $_GETも存在しません。 彼らはどこだ?,
フォームを送信するときは、標準の送信ボタンの代わりに画像を使用することができます。
<input type="image" src="https://www.php.net/manual/en/faq.html.phpimage.gif" name="foo" />
ユーザーが画像のどこかをクリックすると、添付のフォームはfooという二つの追加変数を使用してサーバーに送信されます。xおよびfoo。y.
fooだからです。xおよびfoo。yはphpで無効な変数名を作成し、自動的にfoo_xとfoo_yに変換されます。, いまアクセスこれらの変数のようにその他の記載内の変数の取得を外部から。 たとえば、$_GETです。
メモ:
要求変数名のスペースはアンダースコアに変換されます。
HTMLで配列を作成するにはどうすればよいですか<フォーム>?,
取得するには<フォーム>結果を配列としてPHPスクリプトに送信するには、<入力>、<選択>または
または
または
または
または
div id=”aef5132865″>