- 締切済み
PHP初心者の質問
PHP初心者です。 練習の為、参考にしたHPに記載されてある以下のプログラムを 理解しようと頑張ったんですが、どうしても手に負えない状態 になりました。 症状は、フォームに入力された欄は認識され、 「//入力エラーチェック」には該当しないように成っているの ですが、全部の欄を埋めたとしても「//エラーメッセージ設定」 の部分のイメージが消えず表示されつづけます。 それと、それに繋がりがあるかもしれませんが、何故か最初から 「//入力エラーチェック」と「//エラーメッセージ設定」に該当 されてしまっているようで、表示されたままスタートしています。 これらの原因を考えに考えた結果、恐らく・・・・(1)の部分にある {が閉じられていないのだと思います。 結局のところ試行錯誤で、いろいろ試したのですがそれでも 完成には至りませんでした。 どなたか間違っている部分を教えていただけませんでしょうか? ---------------------------------------------------------------- <?php //設定 $adminMail = "○○○○○○@yahoo.co.jp"; //データの受取 foreach($_REQUEST as $key => $value) { $value = mb_convert_kana($value,"rKV"); $FORM[$key] = $value; } //フォームから送信された場合 if($FROM["mode"] == "send") { ・・・・(1) 最下に記載したテスト サイトには{を消して //入力エラーチェック アップロードしていま $flgErr = true; す。 $tagErr = ""; if($FORM["name"] == "") { $flgErr = false; $tagErr .= "<li>氏名(漢字)をご記入ください</li>\n"; } if($FORM["kananame"] == "") { $flgErr = false; $tagErr .= "<li>氏名(カタカナ)をご記入ください</li>\n"; } if($FORM["mail"] == "") { $flgErr = false; $tagErr .= "<li>メールアドレスをご記入ください</li>\n"; } if($FORM["mail_re"] == "") { $flgErr = false; $tagErr .= "<li>メールアドレス(確認用)をご記入ください</li>\n"; } if($FORM["subject"] == "") { $flgErr = false; $tagErr .= "<li>件名をご記入ください</li>\n"; } if($FORM["content"] == "") { $flgErr = false; $tagErr .= "<li>お問い合わせ内容をご記入ください</li>\n"; } //入力エラーがあれば if(!$figErr) { //エラーメッセージ設定 $tagErr = '<P><img src="enterErr.gif" /></p><ul>'.$tagErr.'</ul>'; //入力エラーがなければ } else { //管理者にメール送信 mb_language('Japanese'); $subject = "お問い合わせがありました。"; $message = "お問い合わせ内容。\n\n"; $message .= "お名前 :".$FORM["name"]."\n"; $message .= "お名前(カナ文字) :".$FORM["kananame"]."\n"; $message .= "メールアドレス :".$FORM["mail"]."\n"; $message .= "メールアドレス(確認) :".$FORM["mail_re"]."\n"; $message .= "件名\n".$FORM["subject"]."\n"; $message .= "お問い合わせ内容\n".$FORM["content"]."\n"; mb_send_mail($adminMail,$subject,$message,"From:".$adminMail); //完了ページへ移動 header("Locatione:○○○○○○○○"); } ?> ---------------------------------------------------------------- 参考にしているHP↓ http://php.frogstone.jp/inquiry/interface.html よろしくお願いします!!
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- okmotokun
- ベストアンサー率59% (92/155)
No.3です。すみません、漢字変換ミスっちゃいました。 $tagErr = ""; 以降の行に if($FORM["mode"] == "send") の効果は及びませんからエラー処理行が実行されるのは当然です。 です。
- okmotokun
- ベストアンサー率59% (92/155)
> if($FROM["mode"] == "send") { ・・・・(1) 最下に記載した テストサイトには{を消してアップロードしています。 $FROM は typoだとして、この行の「 { 」を消せば、 $tagErr = ""; 以降の行に if($FORM["mode"] == "send") の効果は及びませんからエラー処理業が実行されるのは当然です。 「 { 」はそのままで、最後に「 } 」を付ければ構文はOKです。 ただし、おかしなところが他にもあるみたい。 「$flgErr」という変数は何のためにあるの? //入力エラーがあれば if(!$figErr) { は$flgErrのtypoだとしても間違っていませんか。
- pira09
- ベストアンサー率0% (0/2)
Yahoo!知恵袋にも、似た質問がありますが? http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1329185808
- NeilMania
- ベストアンサー率30% (40/131)
if($FROM["mode"] == "send") { FROMってなってますが、これってコピペですか?