このページでは、簡単なformの作り方の続きを解説をしていきます。
前回作ったフォームに以下のように何か記入したとします。

さて、前回のコードに

<form method="POST" action="form_check.php">

と書いた通り、フォームに入力された内容はform_check.phpというファイルに届けられます。
そこで今回は、form_check.phpを作っていきましょう。
sendボタンを押すと下のようなページ(form_check.php)、つまり、自分が入力した内容をチェックできるページにアクセス出来るようにします。

HTML

 <p>Please check!!</p>
<?php
$user_name = $_POST["user_name"];
$title_box = $_POST["title_box"];
$message_box = $_POST["message_box"];
?>
<form method=""POST" action="form_submit.php">
<table border="1">
  <tr>
    <td>user name</td>
    <td><?php echo $user_name; ?></td>
  </tr>
  <tr>
    <td>title</td>
    <td><?php echo $title_box; ?></td>
  </tr>
  <tr>
     <td>message</td>
     <td><?php echo nl2br($message_box); ?></td>
  </tr>
  <tr>
     <td colspan="2">
        <input type="submit" name="submit2" value="send">
     </td>
  </tr>
</table>
</form>

CSS

なし

一番上で定義しているのは、phpのPOST関数です。
POST関数は、method="post"を持つフォームからの値を受取るために使用します。

$user_name = $_POST["user_name"];
$title_box = $_POST["title_box"];
$message_box = $_POST["message_box"];

の部分では、前のページのuser_nameとなずけられたフォームに記入された文字をPOSTから呼び出し、このページで、$user_name(左辺)と名付けています。
下のフォーム部分のactionでは、情報を更に次のページに渡しています。

<?php echo $user_name; ?>

は$user_nameに格納されている文字を呼び出しています。
またこのページでは、最も基本的な形でわかりやすくしようと考え、コードには反映しませんでしたが、このコードにはセキュリティに脆弱性があります。
フォームに悪意のあるSCRIPTを書き込まれてしまった場合、そのSCRIPTがこのページで実行されてしまうためです。
htmlspecialchars関数を使うか、文字数制限を掛けておくなどがよいでしょう。
例)<?php echo htmlspecialchars($user_name, ENT_QUOTES) ?> とすると、HTMLタグなどは読み込まれなくなります。

フォーム入力完了ページの作り方に続きます。

最終更新:2015年08月07日 15:22