- 締切済み
確認画面・完了画面・エラー画面が出るメールフォーム
こんばんは。PHPを習いはじめて1ヶ月ぐらいしか勉強をしていない素人です。 今度仕事でメールフォームを作ることになり、入力画面に入れた情報をメールで受け取るところまではできるのですが、入力画面→確認画面→エラー画面→完了画面のように作りたいのですが、参考書やネットで調べてもいい解説がありませんでした。 下記のソースからこの先どういう作れば希望フォームになるのでしょうか?みなさんの力を貸してください。お願いします。 ★フォーム(HTMLソース) <html> <head> </head> <body> <form method="POST" action="post.php"> 名前<br> <input type="text" name="name" size="15"><br> 好きな果物<br> <input type="radio" name="food[]" value="orange">オレンジ <input type="radio" name="food[]" value="apple">りんご <input type="radio" name="food[]" value="strawberry">いちご<br> <input type="submit" value="送信"> </form> </body> </html> ★PHP(スクリプト) <?php $to='××××@○○○.jp'; $subject='テストメール'; $body="名前:".$_POST["name"]."\n"."好きな果物:".$_POST["food"][0]; if(mb_send_mail($to,$subject,$body)){ print('メール送信に成功しました。'); } else{ print('メール送信に失敗しました。'); } ?>
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- tany180sx
- ベストアンサー率63% (239/379)
時間があるならPEARのQuickFormを触ってみるとか。 考え方だけでも参考になるかも。 使うと入力画面, 確認画面, エラー画面が1ファイルになります。 <?php $form->addElement('radio', ...); if ($form->validate()) { // エラーチェック $form->fleeze(); // 確認画面 } elseif (!empty($_POST)) { ;// エラー画面 } else { ;// 入力画面 } ?><form>...</form><?php
- eitetsu
- ベストアンサー率64% (22/34)
ある程度プログラムを書くほうはわかっている前提とします。 まずは、自分がやりたい処理の流れを箇条書きで書き出してみると、はっきりするのではないかと思います。 わかりやすく考えると、PHPの場合ひとつの画面ごとにひとつのプログラムを作ることになります。 ですので、以下の流れのプログラムを作る必要があります。 #以下は簡単にまとめています。 やり方はいくつもありますので、これ以外の方法が最適の場合もあります。 --------------------------------------------- (1)メールフォーム(HTML) ・メールの内容を入力 (2)確認画面(PHPプログラム) ・(1)の入力内容を確認する。 ・入力内容が間違っていたら(3)のエラー画面に移動する ・入力内容が正しかったら、確認画面を表示する (3)エラー画面(HTML) ・エラーがあったことを表示する ・(1)へ戻るリンクを用意する ※エラー内容を詳細に表示する場合、ここもプログラムになります。 (その場合は、(2)と統合するほうが楽かも) (4)完了画面(PHPプログラム) ・(2)の内容を元に、メールを作成、送信する ・送信が完了したら、確認画面を表示する
- takbee
- ベストアンサー率66% (2/3)
同じような質問があるみたいですよ。 こちらをご覧になられてはどうでしょうか。 PHPでフォームの内容を確認画面に反映させメールで送るには http://oshiete1.goo.ne.jp/qa3468877.html