POST関数

 
初心者の為のPHP入門PHPの基本構文スーパーグローバル関数>POST関数
 

POST関数とは

$_POSTは、POST形式のHTMLフォーム(<form>〜</form>内のmethodオプションがPOST)から入力された情報を取得するためのスーパーグローバル関数になります。

POST関数の活用

まずは、次のようなPHPを考えてみましょう。

post1.php

<form method="POST" action="post2.php">
名前:<br />
<input type="text name="name" size="15" /><br />
食べ物:<br />
<input type="checkbox name="food[]" value="mikan" />みかん
<input type="checkbox name="food[]" value="ringo" />りんご
<input type="checkbox name="food[]" value="banana" />ばなな
<input type="submit" value="送信します" />
</form>

上記のHTMLフォームで、名前を入力して好きな食べ物を入力してみてください。すると、あなたの名前と好きな食べ物が出力されるはずです。

post2.php

ソースは以下の通りです。

名前:<?php print($_POST['name']); ?>
<br>
好きな食べ物:<?php print_r($_POST['food']); ?>

表示結果については、post1.phpを使って確認してみてください。

$_POSTの中身は連想配列の形式となっているので、個々の要素値にアクセスするには、$_POST['要素名']のようにします。
また、チェックボックスやリストボックスのように同盟の要素が複数の値を持つ場合は、要素を名前[]のように指定しなければならないという点に注意が必要です。

これにより、$_POST['要素名']という配列から個々お値を取得することが可能となります。

 

なお、上記のソースにはセキュリティとして脆弱な部分があります。

<?php print($_POST['name']); ?>を
<?php print(htmlspecialchars($_POST['name'])); ?>

と変換することでこの脆弱性を回避することができます。理由は、上部のソースの場合、ユーザーが入力データに<script>などのタグを入力した場合、post2.phpを表示する際にそれがそのまま出力されます。

※そのため、post2.phpでは、下部のソースが実際にりようされています。htmlspecialcharsは文字列に含まれている<>や&などの予約文字を「&lt;」などで置き換えるような命令になります。。


 

 

PHP入門メニュー

第1:PHPイントロダクション
静的ページと動的ページ
クライアントサイドとサーバーサイト
PHPとサーバーサイドのスクリプト
PHPを使う為の環境
  |-Apacheインストール
  |-PHP本体のインストール

第2:PHPの基本構文
スクリプティングデリミタ
PHPと変数
PHPと配列
スーパーグローバル関数
  |-$_POST
  |-$_GET
  |-$_FILES
  |-$_SERVER
  |-$_ENV
  |-$_COOKIE
  |-$_SESSION
・PHPの定数
・PHPの演算子
・PHP条件分岐
・PHPの繰り返し処理
・PHP関数

初心者の為のPHPガイド リンク集

copyright(c)2006-2007 shou all rights reserved.

初心者の為のPHP入門全てのコンテンツの無断転載および二次利用を禁止します。

Hushlog PHPリファレンス HTMLタグ辞典

福岡のホームページ製作イノベイド