はじめに(基本情報)
index.htmlに記述されているお問い合わせフォームは以下の通り。
- お名前(name属性 = your_name )
- メールアドレス(name属性 = your_email )
- お問い合わせ内容(name属性 = inquiry )
それぞれの内容が入っているかどうか(空文字でないか)と、
メールアドレスについては形式が正しいかもチェックし、
エラーがあった場合はそれについてのエラーメッセージを順不同リストで、
エラーがない場合は入力内容を表示するコードです。
コードは以下の通り。
<h1>入力確認</h1> <?php // エラーメッセージを格納する変数を初期化 $error = ''; //お名前の入力チェック if ($_POST['your_name'] == '') { $error .= '<li>お名前を入力してください。</li>'; } //メールアドレスの入力チェック if ($_POST['your_email'] == '') { $error .= '<li>メールアドレスを入力してください。</li>'; } //メールアドレスの形式チェック if ($_POST['your_email'] != '' && !filter_var($_POST['your_email'], FILTER_VALIDATE_EMAIL)) { //空欄でかつ形式が正しくなければ $error .= '<li>メールアドレスを正しく入力してください。</li>'; } //メッセージの入力チェック if ($_POST['inquiry'] == '') { $error .= '<li>お問い合わせ内容を入力してください。</li>'; } if (!empty($error)) { echo '<ul>' . $error . '</ul>'; } else { ?> <dl> <dt>お名前</dt> <dd> <?php echo htmlspecialchars($_POST['your_name'], ENT_QUOTES, 'UTF-8'); ?> </dd> <dt>メールアドレス</dt> <dd> <?php echo htmlspecialchars($_POST['your_email'], ENT_QUOTES, 'UTF-8'); ?> </dd> <dt>お問い合わせ内容</dt> <dd> <?php echo htmlspecialchars($_POST['inquiry'], ENT_QUOTES, 'UTF-8'); ?> </dd> </dl> <?php } ?>
このコードを和訳してみました。
和訳してみた
<h1>入力確認</h1> <?php $errorという変数(空文字列)を作る = 初期化 //お名前の入力チェック もし [your_name] が空なら { $error に < li >お名前を入力してください。< /li >を追加代入 } //メールアドレスの入力チェック もし [your_email]が空なら { $error に < li >メールアドレスを入力してください。< /li >を追加代入 } //メールアドレスの形式チェック もし [your_email] が空ではない が メールアドレス形式でないなら { $error に < li >メールアドレスを正しく入力してください。< /li >を追加代入 } //メッセージの入力チェック もし [inquiry] が空なら { $error に < li >お問い合わせ内容を入力してください。< /li >を追加代入 } /----------------------- ここまででエラー項目があれば$errorに追加代入されているので、ここからどう画面に表示していくかを書く。 /----------------------- $error が空文字でなければ = 1つでもエラーがあれば { echo < ul > . < li >で囲まれた各エラーメッセージ . < /ul > } $errorが空文字なら = エラーがなければ { ?> <dl> <dt>お名前</dt> <dd> <?php //your_nameに入っている値を表示 ?> </dd> <dt>メールアドレス</dt> <dd> <?php //your_emailに入っている値を表示 ?> </dd> <dt>お問い合わせ内容</dt> <dd> <?php //inquiryに入っている値を表示 ?> </dd> </dl> <?php } //最後の閉じタグ ?>