Webデザインのための備忘録

webデザインをするために学んだことをアウトプットするためのブログです。

phpお問い合わせフォーム コードの和訳

はじめに(基本情報)

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    
   } //最後の閉じタグ
?>