PHPでwebフォーム作成!入力データの使い方を紹介します

PHP フォーム web制作

PHPでwebフォームを扱う方法を紹介したいと思います。ユーザーによって入力されるデータは異なりますが、PHPを使うことでそれぞれに合った対応をすることが出来ます。

基本的な知識として、フォームで使われるhtmlタグはこちらで紹介しています。

お問い合わせフォームをアレンジ!HTMLのフォームを構成するタグを紹介
Webサイトを運営していれば、アンケートや問い合わせを受け付けたいときが多々あります。オリジナルのフォームを作ろうとすると、CGIなどのプログラムが必要で難しいですが、フォームがどんな要素で出来ているかを知ることで、ちょっとしたアレンジは可能です。ということで、今回はフォームを構成する要素を見ていきたいと思います。
スポンサーリンク

フォームで入力されたデータの使用方法

ユーザがフォームで入力したデータは、自動的にグローバル変数「$_GET」、「$_POST」内に格納されます。

フォームのmethod属性が「GET」なら「$_GET」、「POST」なら「$_POST」です。

 

実際にフォームで入力されたデータを扱うとこんな感じ。

<?php

if($_GET["username"]){
   echo "入力ありがとうございます{$_GET["username"]}さん";
}else{
   echo <<<FORM
      <form action="$_SERVER[SCRIPT_NAME]" method="GET">
         名前:<input type="text" name="username" />
         <input type="submit" value="送信する" />
      </form>
   FORM;
}
?>

このプログラムはif文を使ってフォームにデータが入力されたかどうかを確認するものです。

入力されていれば「入力ありがとうございます○○(入力された名前)さん」というメッセージが表示され、値が空の時はヒアドキュメントにより入力フォームが表示される仕組みです。

$_GET[“username”]の中に値が格納されるので、あとは通常の変数と使い方は同じです。

 

action属性には送信先のプログラムやアドレスを記述しますが、今回のように自分自身を送り先にした場合は$_SERVER[SCRIPT_NAME]を指定します。ファイル名を変更してもaction属性を変更する必要がないので便利です。

スポンサーリンク

最後に

HTMLだけでも通常のフォームは作成できますが、入力されたデータを使ったプログラムを作る際にはPHPを使う必要があります。

扱い方自体は簡単なので、あとは入力データチェックの方法も一緒に勉強しておきたいですね。

プログラムには欠かせないデータチェック!PHPの正規表現
正規表現はデータが正しいかどうかを調べるときに使われます。かなり詳細なチェックが出来るので便利です。文字列のパターンを作って対象の文字列と比較します。単純に文字列を設定するだけではなく、文字クラスや量指定子などを使ってデータチェックの幅も広げることが出来ます。