トップページ  > ウェブ制作チュートリアル  > 未入力チェック機能をつくる
【番外編】 第30章 PHPでメール送信フォームを作る

★未入力チェック機能をつくる

未入力チェック機能をつくる

広告

前回までに、ユーザーが入力したデータを受け取るところまで作成しました。 今回は未入力の項目があった場合に、それを知らせるメッセージを表示する未入力チェック機能を作成します。

if文 もし( ~ )の場合には、{ ~ }しなさい

お問い合わせフォームの入力項目で、ユーザーが未入力のまま[入力内容を確認する]ボタンを押してしまった場合の未入力チェック機能をつくっていきます。

テキストエディタでconfirm.phpを開いて下記の内容を追加してください。

サンプルソース:confirm.php
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>入力内容の確認|メール送信フォーム</title> </head> <body> <?php /* データの受け取り */ $namae = $_POST["namae"]; //お名前 $mailaddress = $_POST["mailaddress"]; //メールアドレス $naiyou = $_POST["naiyou"]; //お問合せ内容 //危険な文字列を入力された場合にそのまま利用しない対策 $namae = htmlspecialchars($namae, ENT_QUOTES); $mailaddress = htmlspecialchars($mailaddress, ENT_QUOTES); $naiyou = htmlspecialchars($naiyou, ENT_QUOTES); /* 未入力チェック */ if ($namae == '') { echo 'お名前が入力されていません。'; } /* 入力内容の確認 */ echo '<h3>入力内容を確認します</h3>'; echo '<dl>'; echo '<dt>【お名前】</dt><dd>'.$namae.'</dd>'; echo '<dt>【メールアドレス】</dt><dd>'.$mailaddress.'</dd>'; echo '<dt>【お問合せ内容】</dt><dd>'.nl2br($naiyou).'</dd>'; echo '</dl>'; ?> </body> </html>

今回からインデント(字下げ)を入れることでコメントの行頭位置を揃えるなど、プログラムソースが見やすくなるように工夫しています。 字下げには全角スペースではなく、必ずタブか半角スペースを使用してください。

入力が完了したら、confirm.phpを上書き保存してください。

ブラウザで表示確認してみよう

いま上書き保存したconfirm.phpをブラウザで表示確認してみましょう。

下記のように、画面に「お名前が入力されていません。」と表示されていれば成功です。



記述したソース内容を確認しよう

if文 もし( ~ )の場合には、{ ~ }しなさい

ここで注目して欲しいのは下記のif ($namae == '') { ~ }の部分です。

これはif文と呼ばれるもので、 「もし、変数$namaeの中身が空だった場合には、“お名前が入力されていません。”と出力しなさい。」というプログラムになっています。

サンプルソース:confirm.phpの抜粋
/* 未入力チェック */ if ($namae == '') { echo 'お名前が入力されていません。'; }

if文の基本的な使い方は、下記の通りです。

if (条件式) {処理}

例えば、

if (変数$namaeの中身が空だった場合) {“お名前が入力されていません。”と出力しなさい}
といった具合です。

if文は、これからプログラムを作成していく際、何度も利用することになります。

インデント(字下げ)でソースを見やすく

プログラムソースに、適切にインデント(字下げ)を入れると見やすくなります。

サンプルソース:confirm.phpの抜粋
/* 未入力チェック */ if ($namae == '') { echo 'お名前が入力されていません。'; }

プログラムの行数が増えて複雑になってくると、そのプログラムの構造が分かりにくくなってきますが、 例えば、if文にインデントを入れると条件式と処理の区別がつきやすくなります。 上記のソースでは、 echo 'お名前が入力されていません。'; という行の先頭に、 タブをひとつ入れて字下げしています。

インデントには全角スペースではなく、必ずタブか半角スペースを使用してください。 タブか半角スペースによるインデント(字下げ)はプログラムの動作に影響を与えません。 全角スペースでインデントを入れると、エラーが発生してプログラムが止まってしまうので注意してください。

<前へ 目次へ 次へ>
広告
Sponsors
広告
MuuMuu Domain!
ドメイン取るならお名前.com
現役エンジニアのオンライン家庭教師【CodeCamp】
サイトに広告を掲載してお小遣いが稼げる!【A8.net】
Node.jsコース
はじめてのプログラミングコース
▲ページ先頭へ
HTMLクイックリファレンスについて
© HTMQ