【PHP】 メールフォームを作る⑥
引き続きメールフォームを作っていきます。今回も引き続きセキュリティ面を強化していきます。
今回は、フォームに入力された内容にエラーを見つけた場合に、入力フォーム画面にエラーを返します。
【PHP】 メールフォームを作る⑤ - PCゲーマーのWebデザイン備忘録
セッションファイルにエラーメッセージを載せる
index.php にエラーメッセージを引き継ぐだめに、セッションファイルにデータを載せます。
index.php
$name=''; $email=''; $message=''; $name_error =''; $email_error =''; $message_error =''; if(!empty($_SESSION)){ $name=$_SESSION['name']; $email=$_SESSION['email']; $message=$_SESSION['message']; $name_error =$_SESSION['name_error']; $email_error =$_SESSION['email_error']; $message_error =$_SESSION['message_error']; }
フォームにエラーメッセージを載せる
実際にエラーメッセージが載せられた項目に対して、エラーメッセージがフォームの横に表示されるように、フォームを編集します。
<form method="post" action="check.php"> <table> <tr><td class="ff"><label for="name">お名前: <span>※必須 30文字</span></label></td><td class="bf"><input type="text" id="name" name="name" placeholder="例:猫山猫太郎" value="<?php print h($name);?>"> <?php if(!empty($name_error)){ print '<span>'.h($name_error).'</span>'; } ?> </td></tr> <tr><td class="ff"><label for="email">email: <span>※必須 50文字</span></label></td><td class="bf"><input type="text" id="email" name="email" placeholder="例:sample@sample.com" value="<?php print h($email);?>"> <?php if(!empty($email_error)){ print '<span>'.h($email_error).'</span>'; } ?> </td></tr> <tr><td class="ff" ><label for="message">お問い合わせ: <span>※必須 128文字</span></label></td><td class="bf"><textarea name="message" id="message" cols="40" rows="10" placeholder="例:御社商品の資料請求いたします。"><?php print h($message);?></textarea> <?php if(!empty($name_error)){ print '<span>'.h($name_error).'</span>'; } ?> </td></tr> <tr><td> </td><td class="right"><input type="submit" name="submit" value="確認"></td></tr> </table> </form>