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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1568閲覧

【メール送信内容・PHP】フォームページからフォーム内容をメールで送信した際に、フォーム内容が反映されない

billytoshio

総合スコア14

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2020/04/16 07:34

編集2020/04/16 07:38

事象・解決したいこと

php初心者です。

「フォームページ → 確認ページ → サンクスページ(管理者にメール送信)」
※フォームページ(contact.php)、確認ページ(formmail.php)、サンクスページ(send.php)

上記順序で進行するフォームページを作成しているのですが、
確認ページ後に管理者(自分)にフォーム内容をメール送信する際、
メール文中にフォーム内容が反映されずにおります。

メール本文にフォーム内容が反映されるようにするにはどの箇所をどのように修正すれば良いでしょうか。
イメージ説明

フォームページ(contact.php)

php

1<?php 2 3error_reporting(E_ALL & ~E_NOTICE); 4 5if($_SERVER['REQUEST_METHOD']=="POST") { 6 7if(!empty($_POST)){ 8 //エラー項目の確認 9 10 //会社名が空の場合 11 if($_POST['company'] == '') { 12 $error['company'] = 'blank'; 13 } 14 15 //名前が空の場合 16 if($_POST['name'] == '') { 17 $error['name'] = 'blank'; 18 } 19 20 //ふりがなが空の場合 21 if($_POST['kana'] == '') { 22 $error['kana'] = 'blank'; 23 } 24 25 //Emailが空の場合 26 if($_POST['email1'] == '') { 27 $error['email1'] = 'blank'; 28 } 29 30 //Email(確認)が空の場合 31 if($_POST['email2'] == '') { 32 $error['email2'] = 'blank'; 33 } 34 35 //Email(確認)がEmailと異なる場合 36 if($_POST['email2']!=$_POST['email1']){ 37 $error['email2']='not_match'; 38 } 39 40 //お問合せ内容が空の場合 41 if($_POST['textarea'] == '') { 42 $error['textarea'] = 'blank'; 43 } 44 45 //エラーがない場合は確認ページへページ遷移 46 if(empty($error)){ 47 $_SESSION['join'] = $_POST; 48 require "formmail.php"; 49 } 50} 51} 52?> 53<!DOCTYPE HTML> 54<html lang="ja"> 55<head> 56<meta charset="UTF-8"> 57<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 58<link rel="stylesheet" type="text/css" href="./css_files/index.css"> 59</head> 60<body> 61<div class="contact"> 62 <h2 class="contact_title">お問い合わせ</h2> 63 <p>ご意見・ご質問など、お問い合わせは、下記フォームからお願いいたします。<br> 64 お問い合わせの内容によっては返信に時間がかかる場合や回答を差し控えさせていただく場合もございます。</br> 65 また土日、祝日、年末年始休業期間等は、<br> 66 翌営業日以降の対応とさせていただきます。あらかじめご了承ください。</p> 67 <p class="required"><span class="required2"></span>は必須事項です</p> 68</div> 69<div class="contactform"> 70<form action="" method="post"> 71 <dl> 72 <dt>会社名<span class="required2"><strong></strong></span></dt> 73 <dd><input type="text" name="company" value="<?php echo htmlspecialchars($_POST['company'], ENT_QUOTES, 'UTF-8');?>"> 74 <?php if(isset($error['company']) == 'blank'): ?> 75 <p class="error">※会社名を入力して下さい。</p> 76 <?php endif; ?> 77 </dd> 78 </dl> 79 <dl> 80 <dt>部署名</dt> 81 <dd><input type="text" name="department" value="<?php echo htmlspecialchars($_POST['department'], ENT_QUOTES, 'UTF-8');?>"></dd> 82 </dl> 83 <dl> 84 <dt>お名前<span class="required2"><strong></strong></span></dt> 85 <dd><input type="text" name="name" value="<?php echo htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8');?>"> 86 <?php if(isset($error['name']) == 'blank'): ?> 87 <p class="error">※お名前を入力して下さい。</p> 88 <?php endif; ?> 89 </dd> 90 </dl> 91 <dl> 92 <dt>ふりがな<span class="required2"><strong></strong></span></dt> 93 <dd><input type="text" name="kana" value="<?php echo htmlspecialchars($_POST['kana'], ENT_QUOTES, 'UTF-8');?>"> 94 <?php if(isset($error['kana']) == 'blank'): ?> 95 <p class="error">※ふりがなを入力して下さい。</p> 96 <?php endif; ?> 97 </dd> 98 </dl> 99 <dl> 100 <dt>Email<span class="required2"><strong></strong></span></dt> 101 <dd><input type="email" name="email1" value="<?php echo htmlspecialchars($_POST['email1'], ENT_QUOTES, 'UTF-8');?>"> 102 <?php if(isset($error['email1']) == 'blank'): ?> 103 <p class="error">※Emailを入力して下さい。</p> 104 <?php endif; ?> 105 </dd> 106 </dl> 107 <dl> 108 <dt>Email(確認)<span class="required2"><strong></strong></span></dt> 109 <dd><input type="email" name="email2" value="<?php echo htmlspecialchars($_POST['email2'], ENT_QUOTES, 'UTF-8');?>"> 110 <?php if(isset($error['email2']) == 'blank'): ?> 111 <?php if(@$error['email2']=='not_match'): ?> 112 <p class="error">※Email(確認)を入力して下さい。</p> 113 <?php endif; ?> 114 <?php endif; ?> 115 </dd> 116 </dl> 117 <dl> 118 <dt>お電話番号</dt> 119 <dd><input type="text" name="phone" value="<?php echo htmlspecialchars($_POST['phone'], ENT_QUOTES, 'UTF-8');?>"></dd> 120 </dl> 121 <dl> 122 <dt>お問合せ内容<span class="required2"><strong></strong></span></dt> 123 <dd><textarea name="textarea" cols="5" rows="2"><?php echo htmlspecialchars($_POST['textarea'], ENT_QUOTES, 'UTF-8');?></textarea> 124 <?php if(isset($error['textarea']) == 'blank'): ?> 125 <p class="error">※お問合せ内容を入力して下さい。</p> 126 <?php endif; ?> 127 </dd> 128 </dl> 129 </div> 130 <div class="submit"> 131 <p><input type="submit" name="Submit2" value="入力内容を確認する" /></p> 132 </div> 133</form> 134</body> 135</html>

確認ページ(formmail.php)

php

1<!DOCTYPE HTML> 2<html lang="ja"> 3<head> 4<meta charset="UTF-8"> 5<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6<link rel="stylesheet" type="text/css" href="./css_files/index.css"> 7</head> 8<body> 9<div class="contact"> 10 <h2 class="contact_title">お問い合わせ</h2> 11</div> 12 13<div class="contactform_confirm"> 14<form action="send.php" method="post"> 15 <dl> 16 <dt>会社名</dt> 17 <dd> <?php echo $_POST["company"]; ?></dd> 18 </dl> 19 <dl> 20 <dt>部署名</dt> 21 <dd> <?php echo $_POST["department"]; ?></dd> 22 </dl> 23 <dl> 24 <dt>お名前</dt> 25 <dd> <?php echo $_POST["name"]; ?></dd> 26 </dl> 27 <dl> 28 <dt>ふりがな</dt> 29 <dd> <?php echo $_POST["kana"]; ?></dd> 30 </dl> 31 <dl> 32 <dt>Email</dt> 33 <dd> <?php echo $_POST["email1"]; ?></dd> 34 </dl> 35 <dl> 36 <dt>お電話番号</dt> 37 <dd> <?php echo $_POST["phone"]; ?></dd> 38 </dl> 39 <dl> 40 <dt>お問合せ内容</dt> 41 <dd class="textarea_dd"><?php echo nl2br($_POST["textarea"]); ?></dd> 42 </dl> 43 </div> 44 45 <div class="button"> 46 <div class="fix"> 47 <p><input type="button" onclick="history.back()" value="修正する" ></p> 48 </div> 49 50 <div class="send"> 51 <p><input type="submit" name="send" value="送信する" ></p> 52 </div> 53 </div> 54</form> 55</body> 56</html>

サンクスページ(send.php)

php

1<?php 2//送信情報 3$to = 'test@gmail.com'; 4$mailfrom = "From:contact@test.jp"; 5 6//管理者確認用メール 7$subject2 = "【HP】お問い合わせ"; 8$content2 = ""; 9$content2 .= "お問い合わせがありました。\r\n"; 10$content2 .= "お問い合わせ内容は下記通りです。\r\n"; 11$content2 .= "=================================\r\n"; 12$content2 .= "会社名 " . htmlspecialchars($_POST['company'])."\r\n"; 13$content2 .= "部署名 " . htmlspecialchars($_POST['department'])."\r\n"; 14$content2 .= "お名前 " . htmlspecialchars($_POST['name'])."\r\n"; 15$content2 .= "ふりがな " . htmlspecialchars($_POST['kana'])."\r\n"; 16$content2 .= "Email " . htmlspecialchars($_POST['email1'])."\r\n"; 17$content2 .= "お電話番号 " . htmlspecialchars($_POST['phone'])."\r\n"; 18$content2 .= "お問い合わせ内容 " . htmlspecialchars($_POST['textarea'])."\r\n"; 19$content2 .= "================================="."\r\n"; 20 21mb_language("ja"); 22mb_internal_encoding("UTF-8"); 23//mail 送信 24mb_send_mail($to, $subject2, $content2, $mailfrom) 25?> 26 27 28<!DOCTYPE HTML> 29<html lang="ja"> 30<head> 31<meta charset="UTF-8"> 32<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 33<link rel="stylesheet" type="text/css" href="./css_files/index.css"> 34</head> 35<body> 36<div class="contact"> 37 <h2 class="contact_title">お問い合わせ</h2> 38</div> 39<div class="contactform_fin"> 40 <p> 41 お問合せありがとうございました。<br> 42 <br> 43 内容を確認の上、担当者より改めて連絡させていただきます。<br> 44 今しばらくお待ちいただけますようお願い申し上げます。 45 </p> 46 <div class="contactForm"> 47 <a href="index.html">TOPページへ戻る</a> 48 </div> 49</div> 50</body> 51</html>

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

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

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

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

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

guest

回答1

0

ベストアンサー

send.php で情報を受け取るには、formmail.php で、hidden で POST してあげればよいです。

ただ、このコードは、公開に耐えるものでは無いので、一通り試し終わったらメールフォームは諦めて他の分野を学習したほうが良いです。
メールフォームは初学者向けの学習教材にはならないです。

*多分まともなメールを送ることもできないと思います。

参考)
面白そう!で学習教材(サンプルシステム)を選ぶな! - 「ググれ」って言われてググるな!【初学者べからず集 その1】

投稿2020/04/16 07:45

編集2020/04/16 07:49
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

billytoshio

2020/04/18 02:00

ご回答ありがとうございました。 hiddenでpostし、無事send.phpで情報を受取ることが出来ました。 また、ご指摘のとおり学習が不十分すぎるのも実感しておりますので、 改めて他分野含めて学習してまいります。 ご参考サイトも誠にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問