👋
php formで送信されたものを受け取る
はじめに
htmlファイルのformで送信されたものをphpで受け取る方法をまとめます。
MAMPを使ってphpの操作をしています。
リクエストを受け取る
- formのmethodの指定によってphp側で受け取り方を指定する必要があります。
- 引数にはnameで指定したものが入ります。
$_GET['']...getで送られたものを受け取ります
$_POST['']...postで送られたものを受け取ります
$_REQUEST['']...post、getどちらも受け取ります
htmlspecialchars
- フォームにhtmlタグを入力された際にエスケープします
- フォームにhtmlタグを入力された際、htmlが認識されるのを防ぎます
- 2つのパラメーターを受け取ることができます
※ jsなどを組み合わせて入力された場合、危険です。
htmlspecialchars(エスケープ対象(文字列), フラグ)
テキストボックス
index.html
<form action="submit.php" method="get">
<label for="my_name">お名前:</label>
<input type="text" id="my_name" name="my_name" maxlength="233" >
<input type="submit" value="送信する">
</form>
sample.php
<pre>
お名前: <?php print(htmlspecialchars
($_REQUEST['my_name'], ENT_QUOTES)); ?>
</pre>
ラジオボタン
- valueに記述されたものがphp側に渡ります
<form>
<p>血液型:
<input type="radio" name="blood" value="A">A型/
<input type="radio" name="blood" value="B">B型/
<input type="radio" name="blood" value="O">O型/
<input type="radio" name="blood" value="AB">AB型
</p>
<input type="submit" value="送信する">
</form>
submit.php
<pre>
性別: <?php print(htmlspecialchars
($_POST['blood'], ENT_QUOTES)); ?>
</pre>
Discussion