たまに作る程度だから毎度忘れる
だからメモ。
各ソース
1 2 3 4 5 6 7 8 9 | <form action="check.php" method="post" accept-charset="utf-8"> <label for="">名前</label> <input type="text" name="name"> <label for="">メール</label> <input type="email" name="email"> <label for="">問い合わせ内容</label> <textarea name="message"></textarea> <input type="submit" value="確認画面へ"> </form> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php $name = $_POST["name"]; $email = $_POST["email"]; $message = $_POST["message"]; ?> <form action="finish.php" method="post" accept-charset="utf-8"> <input type="hidden" name="name" value="<?php echo $name; ?>"> <input type="hidden" name="furi" value="<?php echo $furi; ?>"> <input type="hidden" name="email" value="<?php echo $email; ?>"> <input type="hidden" name="message" value="<?php echo $message; ?>"> <label for="">名前</label> <p><?php echo $name; ?></p> <label for="">メール</label> <p><?php echo $email; ?></p> <label for="">問い合わせ内容</label> <p><?php echo nl2br($message); ?></p> <input type="submit" value="送信"> <a href="javascript:history.back();">戻る</a> </form> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php mb_language('ja'); mb_internal_encoding('UTF-8'); $message = "ホームページよりお問い合わせがありました。\n\n お名前:" . $_POST["name"] . "\nメールアドレス:" . $_POST["email"] . "\n本文:" . $_POST["message"]; //自動返信用メール文 $message2 = " ※こちらは自動返信となります。\n\n このたびはお問い合わせいただきまして誠にありがとうございます。\n 以下の内容でお問い合わせをお受けいたしました。\n ご回答にお時間を頂戴する場合がございますので、あらかじめご了承くださいませ。\n\n -*-*-*-*-*-*-*-*-\n\n お名前:" . $_POST["name"] . "\nメールアドレス:" . $_POST["email"] . "\n本文:" . $_POST["message"]; //自社宛送信 mb_send_mail("hogehoge@hogehoge.com", "ホームページからお問い合わせがありました", $message, "From: " . $_POST["email"]); //自動返信 mb_send_mail($_POST["email"] , "お問い合わせありがとうございます", $message2, "From: hogehoge@hogehoge.com"); ?> <p>送信完了</p> |
解説とか
contact.html
とりあえずformのactionはurlを汚しても仕方ないのでgetじゃなくてpost。
バリデーションはjQueryでやるのが導入面で楽。
check.php
内容確認画面。
messageについて、データとしては改行は生きてるんだけどそのままechoしてもhtmlとしては改行機能がないので、
内容確認で表示させる時はnl2brを使う。
逆にhiddenのとこでnl2brを使うと改行した上で
1 | <br /> |
が入っちゃうので、
次のfinish.phpで使うときに不都合がある。
んで、「戻る」ボタンについて。
今時のブラウザは戻れば記入内容そのままだから、
頭から全部のフォームをphpにしていちいちデータを投げるとかしなくてもいい感じ。
finish.php
自動返信と自分へのメールをそれぞれ用意する。
いまどき自動返信がないとかどうかと思うしね。
まとめとか
難しくない。
忘れる。
コメント