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

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

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

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

PHP

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

Q&A

解決済

1回答

1509閲覧

PHPでメールアドレスが表示されず、自動送信もされないです。解決方法をご教授下さい。

退会済みユーザー

退会済みユーザー

総合スコア0

HTML5

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

PHP

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

0グッド

0クリップ

投稿2017/09/08 06:22

編集2017/09/08 06:23

以下の入力フォームで必要事項を入力して確認画面に行くとTABLEのメールアドレスの部分に入力したメールアドレスが表示されません。空欄になります。

またphpの部分の

// 送信ボタンが押されたら if (isset($_POST["submit"])) { // 送信ボタンが押された時に動作する処理をここに記述する // 日本語をメールで送る場合のおまじない mb_language("ja"); mb_internal_encoding("UTF-8"); // 件名を変数subjectに格納 $subject = "[自動送信]注文内容";

これで自動返信されるそうなんですが、うまくいきません。

試しに、

// 問い合わせ側にメール送信を行う mb_send_mail($field_email, $subject, $body, $headers); // 問い合わせを受ける側にメール送信を行う mb_send_mail($fromEmail, $subject, $body, $headers);

上記のようにメール送信のコードをもう1つ追加して両方に送信されるようにしてみたのですがうまくいきません。

間違っているコードがあれば教えてください。

[html]

<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="css/top_style.css"> <link rel="stylesheet" type="text/css" href="css/order_style.css"> <title>talent design.「パオーソなるフォーム」 -</title> </head> <body> <header> <h1><a href="index.html"></a></h1> <p class="header_p1">テストテストテストテストテストテスト</p> </header> <nav> <div id="ham-menu"> <ul> <li class="menu_01"><a href="index.html">トップページ</a></li> <li class="menu_02"><a href="concept.html">コンセプト</a></li> <li class="menu_03"><a href="gallery.html">ギャラリー</a> </li> <li class="menu_04"> <a href="production_flow.html">制作の流れ</a></li> <li class="menu_05"><a href="order.html">注文</a></li> <li class="menu_06"><a href="confirm.html">会社概要</a></li> <li class="menu_07"></a><a href="contact.html">問い合わせ</a></li> </ul> </div> <div id="menu-background"></div> </nav> </nav> <!-- top_menu --> <!-- order_box --> <section id="order_box"> <h2 class="confirm_title_p">パーソナルフォーム</h2> <form role="form" action="order_confirm.php" method="post"> <table width="710" border="0" cellpadding="0" cellspacing="0"> <tr> <th width="17%" valign="middle">名前</th> <td valign="top" class="table01"><input type="text" name="name" required/></td> </tr> <tr> <th valign="middle">フリガナ<br>(全角カタカナ)</th> <td valign="top" class="table01"><input type="text" name="furigana" pattern="[\u30A1-\u30FF]*" required/></td> </tr> <tr> <th valign="middle">メールアドレス</th> <td valign="top" class="table01"><input type="email" name="email "size="40" required/></td> </tr> <tr> <th valign="middle">電話番号</th> <td valign="top" class="table01"><input type="text" name="tel" /></td> </tr> <tr> <th valign="middle">送信</th> <td valign="top" class="table01"><button type="submit">送信</button></td> </tr> </table> </form> </section> <!-- order_box --> </body> </html>

[php]

<?php // フォームのボタンが押されたら if ($_SERVER["REQUEST_METHOD"] == "POST") { // フォームから送信されたデータを各変数に格納 $field_name = $_POST['name']; $field_furigana = $_POST['furigana']; $field_email = $_POST['email']; $field_tel = $_POST['tel']; $mail_to = 'talent.design.info@gmail.com'; $subject = 'talent design. 問い合わせ内容'; $body_message = '名前: '.$field_name."\n"; $body_message .= 'フリガナ: '.$field_furigana."\n"; $body_message .= 'メールアドレス: '.$field_email."\n"; $body_message .= '電話番号 '.$field_tel."\n"; $headers = 'From: '.$field_email."\r\n"; $headers .= 'Reply-To: '.$field_email."\r\n"; } // 送信ボタンが押されたら if (isset($_POST["submit"])) { // 送信ボタンが押された時に動作する処理をここに記述する // 日本語をメールで送る場合のおまじない mb_language("ja"); mb_internal_encoding("UTF-8"); // 件名を変数subjectに格納 $subject = "[自動送信]注文内容"; // メール本文を変数bodyに格納 $body = <<< EOM {$field_name} 様 talent design.への注文ありがとうございます。 以下の注文内容を、メールにて確認させていただきました。 =================================================== 【 お名前 】 {$field_name} 【 フリガナ 】 {$field_furigana} 【 メール 】 {$field_email} 【 電話番号 】 {$field_tel} =================================================== 内容を確認のうえ、メールします。 =================================================== 会社名:talent design. 代 表:山中龍之介 住 所:名古屋市守山区瀬古1-1436瀬古荘(406) メール:talent.design.info@gmail.com 電 話:090-6649-8032 =================================================== EOM; // 送信元のメールアドレスを変数fromEmailに格納 $fromEmail = "talent.design.info@gmail.com"; // 送信元の名前を変数fromNameに格納 $fromName = "注文内容"; // ヘッダ情報を変数headerに格納する $header = "From: " .mb_encode_mimeheader($fromName) ."<{$fromEmail}>"; // 問い合わせ側にメール送信を行う mb_send_mail($field_email, $subject, $body, $headers); // 問い合わせを受ける側にメール送信を行う mb_send_mail($fromEmail, $subject, $body, $headers); // サンクスページに画面遷移させる header("Location:thanks.html"); exit; } ?> <!DOCTYPE HTML> <html class="fsvs"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width"> <link rel="stylesheet" type="text/css" href="css/top_style.css"> <link rel="stylesheet" type="text/css" href="css/order_confirm_style.css"> <title>talent design. 「確認画面」</title> </head> <body> <header> <h1><a href="index.html"></a></h1> <p class="header_p1">テスト・テストテスト</p> </header> <nav> <div id="ham-menu"> <ul> <li class="menu_01"><a href="index.html">トップページ</a></li> <li class="menu_02"><a href="concept.html">コンセプト</a></li> <li class="menu_03"><a href="gallery.html">ギャラリー</a> </li> <li class="menu_04"> <a href="production_flow.html">制作の流れ</a></li> <li class="menu_05"><a href="order.html">注文</a></li> <li class="menu_06"><a href="confirm.html">会社概要</a></li> <li class="menu_07"></a><a href="contact.html">問い合わせ</a></li> </ul> </div> <div id="menu-background"></div> </nav> <!-- confirm_box --> <section id="confirm_box"> <form action="order_confirm.php" method="post"> <input type="hidden" name="name" value="<?php echo $field_name; ?>"> <input type="hidden" name="furigana" value="<?php echo $field_furigana; ?>"> <input type="hidden" name="email" value="<?php echo $field_email; ?>"> <input type="hidden" name="tel" value="<?php echo $field_tel; ?>"> <h2 class="confirm_title_p">確認画面</h2> <table width="410" border="0" cellpadding="0" cellspacing="0"> <tr> <th width="30%" valign="middle">名 前</th> <td valign="top" class="table01"><?php echo $field_name; ?></td> </tr> <tr> <th valign="middle">フリガナ</th> <td valign="top" class="table01"><?php echo $field_furigana; ?></td> </tr> <tr> <th valign="middle">メールアドレス</th> <td valign="top" class="table01"><?php echo $field_email; ?></td> </tr> <tr> <th valign="middle">電話番号</th> <td valign="top" class="table01"><?php echo $field_tel; ?></td> </tr> <tr> <th valign="middle">ボタン</th> <td valign="top" class="table01"><input type="button" value="内容を修正する" onclick="history.back(-1)"> <button type="submit" name="submit">送信する</button></td> </tr> </table> </form> </section> <!-- confirm_box --> </body> </html>

※thanksページやCSSはここでは省きます。

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

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

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

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

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

guest

回答1

0

ベストアンサー

HTML

1<button type="submit">送信</button> 2 34 5<button type="submit" name="submit">送信</button> 6

かな。
nameに何も設定していないので$_POSTでは受け取れてないように思います。

追記

すみません。見る場所が違いました。

html

1<td valign="top" class="table01"><input type="email" name="email "size="40" required/></td> 23<td valign="top" class="table01"><input type="email" name="email" size="40" required/></td> 4

です。
name=emailの閉じ部分がおかしくなっています。$_POST["email"]としては送信されていないはず。
正確には$_POST["email "]で送信されているはずですが、本意ではないですよね。

ご提示のソースだとPHPのエラー「Notice: Undefined index: email in」が出ているはずです。

投稿2017/09/08 06:26

編集2017/09/08 06:50
m.ts10806

総合スコア80852

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

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

退会済みユーザー

退会済みユーザー

2017/09/08 06:32

ご回答ありがとうございます。htmlのほうにそれを追加しましたが、そうすると確認画面にいかずにそのままthanks画面に行ってしまいます。
m.ts10806

2017/09/08 06:34

それは if (isset($_POST["submit"])) {の閉じ}前に // サンクスページに画面遷移させる header("Location:thanks.html"); exit; があるからですよね。 メールの方は正常に送信できましたか?
m.ts10806

2017/09/08 06:35

あー、少し勘違いしてました。 ちょっと回答も修正するのでお待ちください。
退会済みユーザー

退会済みユーザー

2017/09/08 06:36

先ほどのやり方だとメールは届きませんでした。// サンクスページに画面遷移させる header("Location:thanks.html"); exit; を移動させてみます。お手数おかけしてすいません。
m.ts10806

2017/09/08 06:39

いえ、ちょっと回答調整します。 あと確認してもらいたいのが、エラーが何か出ていないか、です。 サーバー側のエラーを確認してください。
退会済みユーザー

退会済みユーザー

2017/09/08 06:39

承知しました。お待ちいたします。
退会済みユーザー

退会済みユーザー

2017/09/08 06:40

ワーニング系は表示されていません。PHPは初心者なのでブラウザで表示されている警告以外はちょっとチェックの仕方がわかりません。申し訳ありません。
退会済みユーザー

退会済みユーザー

2017/09/08 06:49

ありがとうございます。うまくいきました。全然気づきませんでした…。ケアレスミスですね。以後気をつけます…。
m.ts10806

2017/09/08 06:51

この手のミスはよくありますよ。ロジックは完璧なはずなのに・・・というときは送信元が間違っていることが多いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問