★未入力チェック機能を洗練させる

私たちはカジノサイトを独自にレビューしています。当社のリンクを通じてサインアップすると、追加料金なしで当社に手数料が発生する場合があります。

未入力チェック機能を洗練させる

広告



前回は、未入力チェック機能を作成しました。
今回は、この未入力チェック機能をさらに洗練させていきましょう。

if文の使い方を工夫して、より高度な機能を実現する

if文を使えるようになると、使い方次第でかなり高度な機能も実現できるようになります。
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); /******************************* 未入力チェック *******************************/ $errmsg = ''; //エラーメッセージを空にしておく if ($namae == '') { $errmsg = $errmsg.'<p>お名前が入力されていません。</p>'; } if ($mailaddress == '') { $errmsg = $errmsg.'<p>メールアドレスが入力されていません。</p>'; } if ($naiyou == '') { $errmsg = $errmsg.'<p>お問合せ内容が入力されていません。</p>'; } /******************************* 入力内容の確認 *******************************/ if ($errmsg != '') { //エラーメッセージが空ではない場合には、エラーメッセージを表示する echo $errmsg; } else { //エラーメッセージが空の場合には、入力された内容を画面表示する 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をブラウザで表示確認してみましょう。

下記のように、画面に「お名前が入力されていません。」「メールアドレスが入力されていません。」「お問い合わせ内容が入力されていません。」と表示されていれば成功です。



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

変数$errmsgにエラーメッセージを格納する

下記のソースでは、未入力の項目があった場合に変数$errmsgにエラーメッセージを格納するように指定します。
初めに$errmsgを空にしておいてから、未入力の場合にエラーメッセージを格納していきます。

サンプルソース:confirm.phpの抜粋
$errmsg = ''; //エラーメッセージを空にしておく if ($namae == '') { $errmsg = $errmsg.'<p>お名前が入力されていません。</p>'; } if ($mailaddress == '') { $errmsg = $errmsg.'<p>メールアドレスが入力されていません。</p>'; } if ($naiyou == '') { $errmsg = $errmsg.'<p>お問合せ内容が入力されていません。</p>'; }

$errmsg = $errmsg.‘ ~ ‘の部分は、
変数$errmsgにすでにデータが格納されている場合にも追加でデータを格納する場合の記述方法です。
追加と言うのは前のデータと置き換えるのではなく、前のデータの末尾にデータをつなげるという意味です。
文字列を末尾につなげる場合にはドット( . )でつなぎます。

例えば、変数$errmsgにすでに「<p>お名前が入力されていません。</p>」というテキストが格納されている場合に、
$errmsg = $errmsg.'<p>メールアドレスが入力されていません。</p>’;と指定をすると、
変数$errmsgには、
「<p>お名前が入力されていません。</p><p>メールアドレスが入力されていません。</p>」
という内容が格納されることになります。

そこへさらに
$errmsg = $errmsg.'<p>お問合せ内容が入力されていません。</p>’;
という指定をすると、
変数$errmsgには、
「<p>お名前が入力されていません。</p><p>メールアドレスが入力されていません。</p><p>お問合せ内容が入力されていません。</p>」
という内容が格納されることになります。

否定のif文 もし( ~ )ではない場合には

下記のソースは、
if ( 条件に合致しない場合には ) { 処理A } else { 処理B }
という構造になっています。

「if文の条件に合致しない場合には処理Aを、それ以外の場合には処理Bを実行しなさい」という指定です。
具体的には、「もし、変数$errmsgの中身が空ではない場合には$errmsgの内容を出力しなさい。
それ以外の場合には入力された内容を画面表示しなさい。」というプログラムです。

サンプルソース:confirm.phpの抜粋
if ($errmsg != '') { //エラーメッセージが空ではない場合には、エラーメッセージを表示する echo $errmsg; } else { //エラーメッセージが空の場合には、入力された内容を画面表示する 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>'; }

注目して欲しいのは、elseが使われている点です。
elseを使うと「それ以外の場合には」という条件で処理を実行させることが可能となります。

もう一点注目して欲しいのは、if文の条件式が$errmsg != ”となっている点です。
!= は「等しくない」という意味を表します。
他の箇所では下記のif文を使用しました。下記では == という記号を使用していますが、
== は「等しい」という意味を表します。

サンプルソース:confirm.phpの抜粋
if ($namae == '') { $errmsg = $errmsg.'<p>お名前が入力されていません。</p>'; }

これらの == や != などの記号は、比較演算子と呼ばれます。
比較演算子には下記の種類があります。
自分の設定したい条件式になるように適切に使い分けます。

演算子 意味
== 等しい
!= 等しくない
> 右辺より大きい
>= 右辺以上
< 右辺より小さい
<= 右辺以下

コメントの書き方でソースを見やすく

今回、下記のようにプログラムソース中のコメントの一部を目立たせるようにしました。
プログラムの処理ブロックの区切りを分かりやすくする狙いがあります。

サンプルソース: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); /******************************* 未入力チェック *******************************/ $errmsg = ''; //エラーメッセージを空にしておく if ($namae == '') { $errmsg = $errmsg.'<p>お名前が入力されていません。</p>'; } if ($mailaddress == '') { $errmsg = $errmsg.'<p>メールアドレスが入力されていません。</p>'; } if ($naiyou == '') { $errmsg = $errmsg.'<p>お問合せ内容が入力されていません。</p>'; } /******************************* 入力内容の確認 *******************************/ if ($errmsg != '') { //エラーメッセージが空ではない場合には、エラーメッセージを表示する echo $errmsg; } else { //エラーメッセージが空の場合には、入力された内容を画面表示する 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>

PHPのコメントの書き方は、コメント部分を /* ~ */ で囲むか、コメント文の先頭に // を付けます。
このコメントの入れ方は /* ~ */ で囲むというルールを守りつつ飾り枠のような表現にしています。

自分のオリジナルの飾り枠付きコメントを考えてみるのも楽しいでしょう。

<前へ 目次へ 次へ>

広告



山田 太郎
テック・リード
山田太郎は、ウェブ開発やグラフィックスプログラミングに10年以上の経験を持つテクノロジーの専門家です。特にHTML5 CanvasやJavaScript、インタラクティブメディアに精通しており、動的なユーザーインターフェースや最先端のウェブアプリケーションの開発に携わってきました。複雑な図形描画や画像操作、リアルタイムグラフィックスに関する知識が豊富で、ウェブ技術の限界を追求する開発者たちにとって頼りになる存在です。知識の共有に情熱を持ち、初心者からプロフェッショナルまで幅広く支援するため、技術フォーラムやブログにも積極的に貢献しています。

ギャンブルガイド もっと見る

カジノファインダー

どのカジノが自分に最適か分からないですか?

サインアップは必要なく、1 分以内に最適なブックメーカーを簡単に見つけることができます。
カジノを探す
Back
質問
Select one of the following options
{"is_any_tile":true}

どのカジノが自分に最適か分からないですか?

Back
Restart
やったー!
これはあなたの選択に基づいた最高のカジノです...
63 users signed up
もっと表示する