質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

621閲覧

問い合わせフォームについて

asapon

総合スコア12

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2019/06/30 07:34

PHPを独学で勉強している初心者です。

ロリポップのサーバーを利用して問い合わせフォームを作りたいのですが、
自身のアドレスに受信するためにはどうしたらいいのでしょうか?

以下が作成したPHPなのですが、どの部分を変更したのよいのでしょうか

<?php // フォームのボタンが押されたら if ($_SERVER["REQUEST_METHOD"] == "POST") { // フォームから送信されたデータを各変数に格納 $name = $_POST["name"]; $furigana = $_POST["furigana"]; $mail = $_POST["mail"]; $tel = $_POST["tel"]; $sex = $_POST["sex"]; $text = $_POST["text"]; } // 送信ボタンが押されたら if (isset($_POST["submit"])) { // 送信ボタンが押された時に動作する処理をここに記述する // 日本語をメールで送る場合のおまじない mb_language("ja"); mb_internal_encoding("UTF-8"); //mb_send_mail("kanda.it.school.trial@gmail.com", "メール送信テスト", "メール本文"); // 件名を変数subjectに格納 $subject = "[自動送信]お問い合わせ内容の確認"; // メール本文を変数bodyに格納 $body = <<< EOM {$name} 様 お問い合わせありがとうございます。 以下のお問い合わせ内容を、メールにて確認させていただきました。 =================================================== 【 お名前 】 {$name} 【 ふりがな 】 {$furigana} 【 メール 】 {$mail} 【 電話番号 】 {$tel} 【 性別 】 {$sex} 【 内容 】 {$text} =================================================== 内容を確認のうえ、回答させて頂きます。 しばらくお待ちください。 EOM; // 送信元のメールアドレスを変数fromEmailに格納 $fromEmail = "contact@dream-php-seminar.com"; // 送信元の名前を変数fromNameに格納 $fromName = "お問い合わせテスト"; // ヘッダ情報を変数headerに格納する $header = "From: " .mb_encode_mimeheader($fromName) ."<{$fromEmail}>"; // メール送信を行う mb_send_mail($mail, $subject, $body, $header); // サンクスページに画面遷移させる header("Location: http://localhost/white/thanks.php"); exit; } ?> <html lang="ja"> <head> <meta charset="UTF-8"> <title>確認画面</title> <link rel="shortcut icon" href="images/white_logo_tab.jpg"> <link rel="stylesheet" type="text/css" href="css/base.css"> <link rel="stylesheet" type="text/css" href="css/input.css"> <link rel="stylesheet" type="text/css" href="css/base768px.css" media="screen and (max-width:768px)"> <link rel="stylesheet" type="text/css" href="css/input768px.css" media="screen and (max-width:768px)"> <meta name="viewport" content="width=device-width,initial-scale=1"> <script src="js/jquery.js"></script> <script>

$(function() {
$('.backTop').click(function(){
$("body , html").animate({ scrollTop: 0 }, 600);
});
});
</script>

</head> <body> <?php include ("header.php"); ?> <div class="line"></div> <div class="contentsMain"> <form action="confirm.php" method="post"> <input type="hidden" name="name" value="<?php echo $name; ?>"> <input type="hidden" name="furigana" value="<?php echo $furigana; ?>"> <input type="hidden" name="mail" value="<?php echo $mail; ?>"> <input type="hidden" name="tel" value="<?php echo $tel; ?>"> <input type="hidden" name="sex" value="<?php echo $sex; ?>"> <input type="hidden" name="text" value="<?php echo $text; ?>"> <h1 class="contact-title">採用情報</h1> <div class="contactMain mb20"> <h2 class="contact-title mb20">お問い合わせ 内容確認</h2> <p>内容にお間違いなければ「送信する」ボタンを押して下さい。</p> <div class="mtb10"> <label>お名前</label> <p><?php echo $name; ?></p> </div> <div class="mtb10"> <label>ふりがな</label> <p><?php echo $furigana; ?></p> </div> <div class="mtb10"> <label>メールアドレス</label> <p><?php echo $mail; ?></p> </div> <div class="mtb10"> <label>電話番号</label> <p><?php echo $tel; ?></p> </div> <div class="mtb10"> <label>性別</label> <p><?php echo $sex ?></p> </div> <div class="mtb10"> <label>お問い合わせ内容</label> <p><?php echo nl2br($text); ?></p> </div> </div> <input type="button" value="内容を修正する" onclick="history.back(-1)"> <button type="submit" name="submit">送信する</button> </form> </div> <?php include ("footer.php"); ?> </body> </html>

宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

mb_send_mail($mail, $subject, $body, $header);

で与えている$mailを工夫して自分のメールアドレスも加えればよいです。
例えば乱暴なやり方にはなりますが

$mail = $_POST["mail"] . ',myaddress@example.com';

的な。
参照:PHP: mb_send_mail - Manual
イメージ説明

ただ、$_POSTの中身を検証せずに送信処理に使うのはちょっと怖いなと思います。
もしも
a@example.com,b@example.com,c@example.com,d@example.com,e@example.com
なんてのが入っていたらそのまま全員に送信してしまう迷惑メール送信マシーンになりますよね。
スクールの課題か何かで、そこまで要求されていないのかもしれませんが、
送信先メールアドレスをどのように検証するかルールを自分で考えてみるのも良いかもしれません。

投稿2019/06/30 07:41

編集2019/06/30 07:43
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問