• ベストアンサー

PHPメールフォームの、記入内容のチェック方法を教えてください>-<

PHPの初心者です。 問い合わせフォームを作成していたのですが、 間違いの無いように メールアドレスを2回入力してもらって その2つが合ってるかどうかをチェックする という仕組みを作りたいのですが、 どのように記述すれば良いのか教えて頂けませんでしょうか。 フォームチェックの部分はこのように記述しています。 <? // フォームの値を取得します。 if ($_SERVER["REQUEST_METHOD"] == "POST") { foreach($_POST as $k => $v){ // 「magic_quotes_gpc = On」のときはエスケープ解除 if (get_magic_quotes_gpc()) { $v = stripslashes($v); } $v = htmlspecialchars($v); $$k = $v; } } else { exit(); } // 値をチェックします。 $ErrFlg = 0; if ($name == "") { echo "<div style='width: 500px; padding:5px 5px 5px 5px; font-size:12px;'>入力に誤りがあります。必要事項をお確かめの上「入力フォームに戻る」ボタンでお戻りください。</div>"; $ErrFlg = 1; } echo "<table width='93%' border='0' cellpadding='5' cellspacing='1' bgcolor='#c7c2af'>"; if ($name == "") { echo "<tr>"; echo "<td bgcolor='#FFFFFF'>「お名前」が入力されておりません。</td>"; echo "</tr>"; $ErrFlg = 1; } if ($ErrFlg == 1) { echo "</table>"; echo "<br>"; echo "<div id='submit' style='width: 450px; padding:5px 5px 5px 5px; font-size:12px; text-align:center;'>"; echo "<a href='javascript:javascript:history.go(-1);'>戻る</a>"; echo "</div>"; } if (!$ErrFlg) { ?>

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

とりあえずこんな感じでいかがでしょ? <style type="text/css"> #err{ width: 500px; padding:5px 5px 5px 5px; font-size:12px; } #submit{ width: 450px; padding:5px 5px 5px 5px; font-size:12px; text-align:center; } .errTD{ background-Color:#FFFFFF; border:1px solid #c7c2af; } .errTABLE{ width:93%; border-collapse:collapse; } </style> <?PHP $name=$_REQUEST['name']; $email1=$_REQUEST['email1']; $email2=$_REQUEST['email2']; $ErrFlg = false; if ($name == "") { $ErrStr.=<<<eof <tr> <td class='errTD'>「お名前」が入力されておりません。</td> </tr> eof; $ErrFlg = true; } if ($email1=="" or $email1 != $email2) { $ErrStr.=<<<eof <tr> <td class="errTD">「メールアドレス」入力に誤りがあります。</td> </tr> eof; $ErrFlg = true; } if($ErrFlg){ print <<<eof <div id="err"> 入力に誤りがあります。必要事項をお確かめの上「入力フォームに戻る」ボタンでお戻りください。 </div> <table class="errTable"> {$ErrStr} </table> <div id='submit'> <a href='javascript:history.go(-1);'>戻る</a> </div> eof; } ?>

ciscino
質問者

お礼

素晴らしいです!本当に助かりました! 有難うございます!

その他の回答 (1)

回答No.1

PHPのみではなく、入力ページに javascript も併用すれば 楽になるかと思いますょ <input type="button" name="_inp" onClick="if(DataChkNew())this.form.submit();" value="登録確認画面へ"> <script type="text/javascript"><!-- function DataChkNew() { if(customer.NewEMail.value == customer.NewEMail1.value){ }else{ alert("メールアドレスが確認用メールアドレスと違います"); return false; } return true; } //--> </SCRIPT>

ciscino
質問者

お礼

丁寧なお返事誠に有難うございます。 確かにそのほうが簡単そうですね。。 ただ、今ボタンのアクションに リンク先のページでエラーを表示させるように組んでいて、 それを全部変えなければいけないので、 できればPHP内で行えると嬉しいのですが 難しいでしょうか。。

関連するQ&A