PCゲーマーのWebデザイン備忘録

PCゲーマーのWebデザイン備忘録。東京都内でWEBデザイナーとして働いています。Webデザインやゲームに関することをブログに書いていきます

【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">お名前:&nbsp;&nbsp;<span>※必須&nbsp;&nbsp;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:&nbsp;&nbsp;<span>※必須&nbsp;&nbsp;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">お問い合わせ:&nbsp;&nbsp;<span>※必須&nbsp;&nbsp;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>&nbsp;</td><td class="right"><input type="submit" name="submit" value="確認"></td></tr>
</table>
</form>