• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メールフォームについて)

メールフォームについての疑問点と解説

このQ&Aのポイント
  • アンケートフォームのサンプルで勉強している中で、未入力項目のチェックと送信確認画面の表示について疑問が生じました。
  • 具体的には、最初にtextの未入力をチェックし、次にradioとcheckboxの未選択をチェックしている部分が理解できません。
  • また、特にif($var == "eweb_submit") ;が何を意味するのかもわかりません。初心者のため、詳しい説明をお願いします。

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

  • ベストアンサー
回答No.2

はじめまして、自分も初心者です。 すでに解決済みかもしれませんが、自分も同じsampleで引っかかったので回答します。 $var == "eweb_submit"は送信確認ページの送信ボタンを押せば初めて送られるデータと見られます。 そのため、このデータが含まれる場合、チェックは不要ですし、重複して送信確認画面を見る必要はありませんので、値にeweb_submitがあれば処理をスルーするために記述されていると考えられます。 また、if($key == $eles[$i] && empty($var))の部分は、必須項目のデータが空の場合、エラーを記述するという処理です。 必須項目は毎回$eles = array('名前','年齢','性別','email','規約');の部分で初期化されます。 if($key == $eles[$i]) {■ $eles[$i] = "eweb_ok";■の部分は、 必須項目に設定したラジオとチェックボックスの項目にチェックが入っていれば、当然POSTされるkeyに含まれるので、チェックして最終的に$eles[]の中味が全部eweb_okになりますが、必須項目のkeyが無ければ、その部分はeweb_ok以外の初期値のままです。 そのため、if($eles[$i] != "eweb_ok") {■で確認して、エラーを追記しています。 また、if文の{が無い記述ですが、自分もあれっ?と思いました。動いているので、そういう記述もアリなのだと思うことにしました。 また、自分の疑問ですが、<? echo $err_message; ?>の記述は何なのか? 疑問です…。もし判ればお教えください。 ちなみに、 if($eles[$i] != "eweb_ok") {■ $errm .= "<FONT color=#ff0000>「".$eles[$i]."」が未選択です。</FONT><BR>\n"; $eles[$i] = "eweb_ok"; の部分の$eles[$i] = "eweb_ok"は何のために代入しているのか自分もわかりません…。おそらく無意味な処理です。

hayahide94
質問者

お礼

お礼が大変遅くなってしまいました。今、ポイントをつけていないことに気付きあわてています。おかげさまでで少しは理解が進みました。まだわからない部分はありますが、メールフォームは問題なく動いています。ありがとうございます。

その他の回答 (1)

  • awazak
  • ベストアンサー率36% (61/165)
回答No.1

下記の例で分かりますかね? <?php $string = "aiueo"; if( $string == "aiueo"){ echo '$stringはaiueoです。'; }else{ echo '$stringはaiueoではありません。'; } ?>

参考URL:
http://www.atmarkit.co.jp/flinux/php4/php4_3/php4_4.html
hayahide94
質問者

補足

回答ありがとうございます。返事遅くなってすいません。 示してくれた例は理解できます。うまく言えないんですけど、もう少し具体的なところがわかりません。例えば if($var == "eweb_submit") ; であれば、「入力された要素が"eweb_submit"」ということは何を意味しているのか?また、;の後に{処理}がなく、いきなりelseがきているのはどういうことでしょうか?よかったら教えてください。

関連するQ&A