[php]問い合わせフォームのメモ

地味に忘れる

htmlのアレ

<form action="check.php" method="post">

postにする。

文字コードとpostの変数化

mb_language('ja');
mb_internal_encoding('UTF-8');
$name = $_POST['name'];
$email = $_POST['email'];
$comment = $_POST['comment'];

エンコード指定しなくても別段問題ない気もするんだけど。

メール送信の云々

通知メール

//通知先
$return_email =
"***@*****.com";
//通知 件名
$return_title =
"[サイト名]よりお問い合わせがありました。";
//通知 本文
$return_message =
"以下の内容で[サイト名]よりお問い合わせがありました。

◆お名前
".$name."
◆メールアドレス
".$email."
◆ご質問・要望など
".$comment;
//通知メール送信
mb_send_mail($return_email, $return_title, $return_message, "From: ".$return_email);

本文の改行的に「”」の付け方はこんな感じでやるといい塩梅。
改行不要の件名とかメールアドレスも統一しちゃったほうが楽。
サイト名とかフォーム分類とかちゃんと書いておいたほうが、
フォーマットなんか一回作ったら使いまわすだろう手前、
何処のサイトの何から飛んできたメールか分からんくなるときっついので、
いい。
送信元も自分のメールアドレスにすべき。
入力者のアドレスにしても迷惑メールに割り振られる可能性とかあったりして微妙。

自動返信メール

//自動返信 発信元
$autoback_email =
"***@*****.com";
//自動返信用メール 件名
$autoback_title =
"[サイト名]お問い合わせありがとうございます。";
//自動返信用メール 本文
$autoback_message =
"※こちらは自動返信となります。
[ヘッダーテキスト]
-*-*-*-*-*-*-*-*-
◆お名前
".$name."
◆メールアドレス
".$email."
◆ご質問・要望など
".$comment."
-*-*-*-*-*-*-*-*-
[署名]
";
//自動返信送信
mb_send_mail($email , $autoback_title, $autoback_message, "From: ".$autoback_email);

問い合わせした人に対しての自動返信メール。
見返すかは知らんけど、こういうことはしといたほうがいいよね。

確認ページ用

<ul>
    <li>
        <div class="cel"><label>お名前</label></div>
        <div class="cel"><?php echo $name; ?></div>
    </li>
    <li>
        <div class="cel"><label>メールアドレス</label></div>
        <div class="cel"><?php echo $email; ?></div>
    </li>
    <li>
        <div class="cel"><label>お問い合わせ内容</label></div>
        <div class="cel"><?php echo $comment; ?></div>
    </li>
    <li>
        <input type="hidden" name="name" value="<?php echo $name; ?>" />
        <input type="hidden" name="email" value="<?php echo $email; ?>" />
        <input type="hidden" name="comment" value="<?php echo $comment; ?>" />
        <ul class="form_btn_set">
            <li><input type="submit" value="上記の内容で送信する" /></li>
            <li><input type="button" value="前のページへ戻る" onclick="history.back()" class="form_back" /></li>
        </ul>
    </li>
</ul>
</form>

表示はechoしといて、post用のinputはhiddenで入れとけば楽。

まとめ

バリデーションについては一切スルーなのでjsとかhtml5のでしとく。
入力内容はメールに飛ぶだけなので、
データベースとかに登録したかったらこれに色々加えていく。
cgiとかに比べて本当に楽になったね。

コメント

タイトルとURLをコピーしました