• ベストアンサー

phpのメール送信での質問になります

メールとお問い合わせ内容は届くのですが、名前とアドレスが届かないので間違っている箇所を教えていただけるとありがたいです。 以下コードになります。 html <body> <main> <section> <h2>お問合せ内容の確認</h2> <form action="mailto.php" method="post"> <div class="contant-area"> <div class="label-container"> <label class="item intem-name">名前</label> <label class="item item-email">メールアドレス</label> <label class="item item-message">問い合わせ内容</label> </div> <div class="text"> <p class="item-post" name="name"><?php echo $_POST["name"]; ?></p> <p class="item-post" name="email"><?php echo $_POST["email"]; ?></p> <textarea class="item-post item-textarea" name="message"><?php echo $_POST["message"]; ?></textarea> </div> </div> <div class="button-area"> <input type="submit" value="送信"> </div> </form> </section> </main> </body> php <?php // フォームデータの取得 $name = $_POST[&#039;name&#039;]; $email = $_POST[&#039;email&#039;]; $message = $_POST[&#039;message&#039;]; // 送信先のメールアドレス $to = &#039;*****@gmail.com&#039;; // 件名 $subject = &#039;お問い合わせがありました&#039;; // メール本文 $body = "名前: $name\n"; $body .= "メールアドレス: $email\n"; $body .= "問い合わせ内容:\n$message"; // 送信元のメールアドレスと名前 $from = &#039;*****1690.xsrv.jp&#039;; $fromName = &#039;お問い合わせフォーム&#039;; // ヘッダー $headers = "From: $fromName <$from>"; // メール送信 $mailResult = mail($to, $subject, $body, $headers); ?>

  • PHP
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • dell_OK
  • ベストアンサー率13% (740/5642)
回答No.1

名前とメールアドレスが<p>タグだからではないでしょうか。 <input>タグにしてみてください。

Hiroki04155
質問者

お礼

直りました! ずっと解決できなかったので助かりました。 ありがとうございます!!

関連するQ&A

  • 問い合わせフォームからPHPを使って、、、、、

    問い合わせフォームからPHPを使って指定のアドレスにメールを送ろうとしているのですが、届きません、、、、、、 原因が分かりません。助けていただけないでしょうか。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>お問い合わせページ</title> <link rel="stylesheet" href="styles.css"> </head> <body> <h1>お問い合わせページ</h1> <form action="send_email.php" method="post"> <label for="name">お名前:</label> <input type="text" id="name" name="name" required><br><br> <label for="email">メールアドレス:</label> <input type="email" id="email" name="email" required><br><br> <label for="message">お問い合わせ内容:</label><br> <textarea id="message" name="message" rows="4" cols="50" required></textarea><br><br> <input type="submit" value="送信"> </form> </body> </html> \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 以下がPHPのプログラムです。 <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST["name"]; $email = $_POST["email"]; $message = $_POST["message"]; // 送信先のメールアドレス $to = "***@gmail.com"; // 件名 $subject = "お問い合わせがありました"; // 本文 $body = "お名前: $name\n"; $body .= "メールアドレス: $email\n\n"; $body .= "お問い合わせ内容:\n$message"; // メールを送信 mail($to, $subject, $body); // 送信後のリダイレクト header("Location: thank_you.html"); exit; } ?>

    • 締切済み
    • PHP
  • htmlとphpのデータ受け渡し???

    いつもお世話になり誠にありがとうございます。 標記の件。 まだ、ボク自身、解っていないようです。 htmlとphpのソースコードを提示します。 どうすればデータの受け渡しができるか? 添削してくださらないでしょうか? html <!--入力画面--> <form action = "./Blog.php" method = "get"> <label class="label" for="name">お名前(ニックネーム)</label> <center><input id="name" type="text" name="name"></center> <label class="label" for="e-mail">メール</label> <input id="e-mail" type="e-mail" name="e-mail"> <label class="label" for="category">カテゴリー</label> <input id="category" type="category" name="categoryl"> <label class="label" for="message">本文</label> <textarea name="area1" style="color:rgb(8, 8, 8); font-size:100%;" cols="50" rows="30"></textarea><br> <input type="submit" name="confiem" value="確認"> </form> CSS <meta charset="utf-8"> <?php session_start(); $mode = 'input'; if( isset($_POST['back']) && $_POST['back'] ){ //何もしない } else if( isset($_POST['confirm']) && $_POST['confirm'] ){ $_SESSION['name'] = $_POST['name']; $_SESSION['e-mail'] = $_POST['e-mail']; $_SESSION['category']= $_POST['category']; $_SESSION['message'] = $_POST['message']; $mode = 'confirm'; } else if( isset($_POST['send']) && $_POST['send'] ){ $mode = 'send'; } else { $_SESSION['name'] =""; $_SESSION['e-mail'] =""; $_SESSION['category']=""; $_SESSION['message'] =""; } ?> <!--確認画面--> <?php if( $mode == 'input' ){ ?> お名前(ニックネーム)<?php echo $_POST['name'] ?><br> Eメール<?php echo $_POST['e-mail'] ?><br> カテゴリー<?php echo $_POST['category'] ?><br> 本文<br> <?php echo nl2br($_POST['message']) ?><br> <input type="submit" name="back" value="戻る" /> <input type="submit" name="send" value="送信" /> <?php } else { ?> <!--完了画面--> <?php } ?> 上記の通りです。 全然ダメだと思います。 添削のほど、宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • phpでメール送信

    phpでメール送信を行ってもメールが来ません。 普通のメールアドレスです。使っているサーバーはちゃんとphpが つかえるようです。ソースは下記です。訂正するところなどありまし たらよろしくお願いします。 ソース:(ホーム)<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>sample</title> </head> <body> <form action="1.php" method="post"> ホームページの名前:<br> <input type="text" name="subject" size="30" value=""><br> ホームページのアドレス:<br> <input type="text" name="name" size="30" value=""><br> メールアドレス:<br> <input type="text" name="mail" size="30" value=""><br> ホームページの紹介文:<br> <textarea name="message" cols="30" rows="5"></textarea><br> <br> <input type="submit" value="送信する"> </form> </body> </html> 送信側:<?php mb_language("Japanese"); mb_internal_encoding("SHIFT-JIS"); $message = "ホームページのアドレス:" . $_POST["name"] . "\nホームページの紹介文:" . $_POST["message"]; if (!mb_send_mail("めーるアドレス@メールアドレス.jp", $_POST["subject"], $message, "From: " . $_POST["mail"])) { exit("メールの送信に失敗しました。"); } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>sample</title> </head> <body> <p>メールが送信されました。</p> </body> </html>

  • phpメール送信

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-S"> <title>お問い合わせフォーム</title> </head> <body> <?php //お問い合わせタイトル、詳細のセット $title = htmlspecialchars($_POST['title'], ENT_QUOTES); $message = htmlspecialchars($_POST['message'], ENT_QUOTES); mb_language('ja'); mb_internal_encoding('UTFS'); $name = '自動送信’; $email = '<僕のアドレス>'; $header = 'From: '. mb_encode_mimeheader($name) . '<' . $email .'>'; $result = mb_send_mail("<僕のアドレス>", $title, $message, $header); if ($result){  echo '■お問い合わせ内容を担当者に送信しました。’; } else {  echo '■担当者への送信に失敗しました。'; } ?> </body> </html> 何故かエラーになります。原因を教えてください

    • ベストアンサー
    • PHP
  • postによる、phpとの受け渡し???

    いつもお世話になり誠にありがとうございます。 標記の件。 フロントサイドはブラウザ表示されますが、サーバーサイドは 確認できません。 恐らくはphpが誤っているのでしょう。 質問の仕方が悪いですけど、フロントサイド、サーバーサイド共にソースコードを表示します。 フロントサイドは完璧ではないですけどOKです。 PHPが誤っています。 どうかどこが誤っているか、お教えてください。 下記にコードを表示します。 フロントサイド <!--入力画面--> <form action = "./Blog.php" method = "post"> <label class="label" for="name">お名前(ニックネーム)</label> <center><input id="name" type="text" name="name"></center> <label class="label" for="e-mail">メール</label> <input id="e-mail" type="e-mail" name="e-mail"> <label class="label" for="category">カテゴリー</label> <input id="category" type="category" name="categoryl"> <label class="label" for="message">本文</label> <textarea name="area1" style="color:rgb(8, 8, 8); font-size:100%;" cols="50" rows="30"></textarea><br> <input type="submit" name="confiem" value="確認"> </form> <!--確認画面--> <?php if( $mode == 'input' ){ ?> お名前(ニックネーム)<?php echo $_POST['name'] ?><br> Eメール<?php echo $_POST['e-mail'] ?><br> カテゴリー<?php echo $_POST['message']) ?><br> <input type="submit" name="back" value="戻る" /> <input type="submit" name="send" value="送信" /> <?php } else { ?> <!--完了画面--> <?php } ?> フロントサイドの<form></form>の部分と phpのコードをどうか見比べてください。 どう直せばいいでしょうか? フロントサイドをブラウザで表示し、確認ボタンがクリックされたら 確認画面が表示されるようにしたいのです。 ご多忙中恐れ入ります。 ご回答のほど宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • PHPでメールを送信するには

    PHP超初心者です。 参考本をもとにPHPでメールを送信するということにチャレンジしているのですが、次のような文章が出ます。 Warning: mb_send_mail() [function.mb-send-mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Program Files\Apache Group\Apache2\htdocs\php10\mail.php on line 11 エラー:送信に失敗しました 参考本に書いてあるとおり、 php.iniのSMTP=localhost を自分が使っているoooooo@ocn.ne.jpに書き換え、sendmailには自分の別アドレスを記述したのですが。 11行目のエラーも何を指しているのかわかりません。 ご回答よろしくお願いします。 【mail.php】 <html> <head><title>mail.php</title></head> <body> <?php $address=$_POST['address']; $subject=$_POST['subject']; $message=$_POST['message']; $header="Content-Type:text/plain;charset=iso-2022-jp"; mb_language("Japanese"); if(mb_send_mail($address, $subject, mb_convert_encoding($message,"JIS","EUC-JP"),$header)){ print("送信完了しました。"); }else{ print("エラー:送信に失敗しました"); } ?> </body> </html> 【mail_form.html】 <html> <head><title>メールの送信</title></head> <body> <h2>メールの送信</h2> <form action="mail.php" method="post"> 宛先:<input type="text" name="address"><br /> 件名:<input type="text" name="subject"><br /> 本文:<br /><textarea name="message" rows="5" cols="30"></textarea><br /> <input type="submit" value="送信"> </form> </body> </html>

    • ベストアンサー
    • PHP
  • メールフォームのPHPについて質問です。

    以下のようなメールフォームを作ったのですが何故か値の受け渡しが上手くいきません。 以前どこかのサイトを参考にして作ったもので別で自分の作ったサイトでは問題なく受け渡しができたのですが、なぜか今回はできません。 自分が作って成功したサイトをそのままサーバーにアップロードしても出来ないのがよくわからないのです。 どうすれば受け渡しがうまくいくのでしょうか? どなたか知恵を分けていただきたいです。何卒よろしくお願いいたします。 ▼ここからinquiry.html▼ <div id="main_inquiry"> <div id="box_inquiry"> <h1>お問い合わせ</h1> <div id="form"> <form method="POST" action="inquiry_check.php"> <p class="form">お名前</p> <p class="text"><input type="text" name="name" size="50"><br></p> <p class="form">電話番号</p> <p class="text"><input type="text" name="tel" size="50"><br></p> <p class="form">Eメール</p> <p class="text"><input type="text" name="email" size="50"></p><br> <p class="form">備考</p> <p class="text"><textarea name="bikou" cols="50" rows="10"></textarea></p> </div> <!---------form-END------------------------------> <div id="submit"> <input type="submit" value="確認" class="submit"> <input type="reset" value="リセット" class="reset"> </div> <form method="POST" action="inquiry_check.php"> </div> ▲inquiry.html終了▲ ▼ここからinquiry_check.php▼ <div id="box_check"> <h1 class="headding11">問い合わせチェック</h1> <?php $name=htmlspecialchars($_POST["name"]);// if ($name == ""){ $show_name = "<font color='#000'><strong>名前が入力されていません</font></strong>"; $err_flg = 1; } else { $show_name = $name; } $tel=htmlspecialchars($_POST["tel"]);// if ($tel == ""){ $show_tel = "<font color='#000'><strong>電話番号が入力されていません</font></strong>"; $err_flg = 1; } else { $show_tel = $tel; } $email=htmlspecialchars($_POST["email"]);// if ($email == ""){ $show_email = "<font color='#000'><strong>e-mailが入力されていません</font></strong>"; $err_flg = 1; } else { $show_email = $email; } $bikou=htmlspecialchars($_POST["bikou"]);// if ($bikou == ""){ $show_bikou = "<font color='#000'><strong>備考が入力されていません</font></strong>"; $err_flg = 1; } else { $show_bikou = $bikou; } if ($err_flg == 1){ $show_form = ""; } else { $show_form = " <input name='name' type='hidden' value='". $name ."'> <input name='tel' type='hidden' value='". $tel ."'> <input name='email' type='hidden' value='". $email ."'> <input name='bikou' type='hidden' value='". $bikou ."'> <input name='submit' type='submit' value='送信' class='soushin'> "; } ?> <form name="mailform" method="post" action="inquiry_finish.php"> <P align="center"><b class="kakunin">お客様情報確認</b></P> <table class="check" width="685px" border="0" cellspacing="1" cellpadding="5"> <tr> <td bgcolor="#EBEBEB" width="200"> 氏名</td> <td width="540"><? echo $show_name ?></td> </tr> <tr> <td bgcolor="#EBEBEB"> 電話番号<font color="#FFFFFF">  </font></td> <td><? echo $show_tel ?></td> </tr> <tr> <td bgcolor="#EBEBEB"> 電子メール</td> <td ><? echo $show_email ?></td> </tr>  <tr> <td bgcolor="#EBEBEB"> お問い合わせ内容</td> <td ><? echo $show_bikou ?></td> </tr> </table> <div align=""> <? echo $show_form ?> <input name="submit" type="button" value="戻る" class="mouse" onClick="history.back()"> </div> </div> <div id="side_menu_check"> </div> </div> <div id="footer"> </div> ▲inquiry_check.php終了▲

    • ベストアンサー
    • PHP
  • セレクトメニューの値をメール送信できません

    PHPの勉強がてらにお問い合わせフォームを作ってみたのですが、 セレクトメニューを追加したところ、エラーが出てしまいうまく出来ません。 調べても原因が分からないので、間違っている箇所があれば ご指摘お願いします。 test.html <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>メールフォーム</title> </head> <body> <form action="test.php" method="post"> <select name="test"> <option value="テストA">テストA</option> <option value="テストB">テストB</option> <option value="テストC">テストC</option> </select> <dl> <dt>お名前</dt> <dd><input name="name" type="text" id="name" size="50" maxlength="225" /></dd> <dt>メールアドレス</dt> <dd><input name="email" type="text" id="email" size="50" maxlength="225" /></dd> <dt>お問い合わせ</dt> <dd> <textarea name="message" id="message" cols="50" rows="10"></textarea> </dd> </dl> <input type="submit" value="送信する" /> </form> </body> </html> test.php <?php mb_language("japanese"); mb_internal_encoding("UTF-8"); $to = 'xxx@xxx'; if (isset($_POST['name'])) { $name = $_POST['name']; $body = $_POST['message']; $email = $_POST['email']; $test = $_POST['test']; $succese = mb_send_mail($to,$name,$body,$email,$test); } ?> <?php if($succese){ print('送信しました。'); } else{ print ('送信に失敗しました。'); } ?>

    • ベストアンサー
    • PHP
  • form変数の初期化

    <br /><b>Notice</b>: Undefined index: your_name in <b>C:\xampp\htdocs\test\index.php</b> on line <b >83</b><br /> 入力画面で上記のエラーが解決しません。 どうすればいいでしょうか? 入力画面 <?php $_POST = array(); ?> <form method="post" action="./form_check.php"> <div class="element_wrap"> <label>氏名</label> <input type="text" name="your_name" value="<?php echo $_POST["your_name"]?>"> </div> <div class="element_wrap"> <label>メールアドレス</label> <input type="text" name="email" value=""> </div> <input type="submit" name="btn_confirm" value="入力内容を確認する"> </form> 確認画面 <?php $your_name = $_POST["your_name"]; ?> <form method="post" action="./test.php"> <div class="element_wrap"> <label>氏名</label> <p><?php echo $your_name; ?></p> </div> <div class="element_wrap"> <label>メールアドレス</label> <p><?php echo $_POST['email']; ?></p> </div> <input type="submit" name="btn_submit" value="送信"> </form> <form method="post" action="./index.php"> <!--<input type="button" name="btn_back" onclick="history.back()" value="戻る">--> <input type="submit" name="btn_back" value="戻る"> <input type="hidden" name="your_name" value="<?php echo $_POST['your_name']; ?>"> <input type="hidden" name="email" value="<?php echo $_POST['email']; ?>"> </form>

    • 締切済み
    • PHP
  • PHPのメール送信ができません

    初心者な者でこのような質問でごめんなさい。 私は10日でおぼえるPHPという本で勉強しているのですが 下記の内容に困ってます 【mail_input.php】 10日でおぼえるPHP5入門教室(アンケート)</h1> <form method="post" action="sendmail.php"> <input type="hidden" name="_email" value="****@***.jp" /> <input type="hidden" name="subject" value="10日でおぼえるPHP5入門教室" /> <input type="hidden" name="_result" value="<?php print($_SERVER['PHP_SELF']);?>" /> <table border="0"> <tr> <th align="right">名前:</th> <td><input type="text" name="name" size="20" maxlength="30" /></td> </tr><tr> <th align="right">E-Mail:</th> <td><input type="text" name="_from" size="50" maxlength="255" /></td> </tr><tr> <th align="right" valign="top">自由記入欄:</th> <td><textarea name="memo" cols="50" rows="5"></textarea></td> 【sendmail.php】 <?php $header_info="From: ".$_POST['_from']."\nContent-Type: text/plain;charset=ISO-2022-JP\nX-Mailer: PHP/".phpversion(); $body="■■".$_POST['_subject']."■■\n\n"; foreach($_POST as $key=>$value){ if(!strstr($key,"_")){ $body.=" [".$key."] ".$value."\r\n"; } } mb_send_mail($_POST['_email'],$_POST['_subject'],$body,$header_info); header("Location: ".$_POST['_result']); ?> ===================================================== 上記の内容でメールが送れるとの事だったのですが php.iniの設定も SMTPやsendmail_fromどちらとも設定はでき 送れるはずなのですがメールが届きません なぜなのでしょうか? もしよろしければ教えて頂けないでしょうか? お願いします。

    • 締切済み
    • PHP

専門家に質問してみよう