• 締切済み

phpで入力フォームに顧客が入力した情報を直接折り

phpで入力フォームに顧客が入力した情報を直接折り返しメールでの受け取りについて。 下記のURLでの入力フォーム→確認画面→折り返しメールのコードを参考に真似して書いているのですが、 https://www.web-officer.com/php/how-to-make-inquiry-form.php URLの一番下の説明submit.phpファイルについての23行目のコードについて以下のように説明しているのですが、 一個目の$flg = はHTMLコードで作った入力フォームに入力されたメールアドレス宛て(=お問い合わせフォームに入力したお客様)にメールを飛ばす為の設定です。 メールの送り元はexample@example.comということにし、メールのタイトルは「【Web担当者の作り方】です。お問い合わせいただきましてありがとうございます!」になるよう設定しています。 要するにお客様の控え用としてお客様にメールを飛ばすということですね。 実際に使用する際には任意のメールアドレスに書き換えて下さいね。 とコードの書き方の説明に書かれているのですが、「 実際に使用する際には任意のメールアドレスに書き換えて下さいね。」とありますが、お客さまが入力したメールアドレスは多様にあるため、入力したメールアドレスは分かりませんよね? 実際に使用する際には任意のメールアドレスに書き換えて下さいね。 とは任意のどんなメールアドレスなのでしょうか? お客様によってアドレスは違いますよね? 様々な顧客が多様なメールアドレスを使うことを想定した場合、この場合どんなメールアドレスを書いたらよいのでしょうか? 回答よろしくお願いします。

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

みんなの回答

  • owan-wan
  • ベストアンサー率42% (3/7)
回答No.2

お客様はフォームからPOSTのaddressで自分のメールアドレスを送ってきます。 そのデータは5行目で、$addressに代入されていますので、お客様のメールアドレスの代わりに$addressを使うことができます。 なので、、、 bSENDMAIL3($address,"example@example.com","【Web担当者の作り方】です。お問い合わせいただきましてありがとうございます!",$body); は、 bSENDMAIL3(《お客様のメールアドレス》,《あなたのメールアドレス》,《メールのタイトル》,$body); という意味になります。 なので、お客様のメールアドレスはそのまま$addressで構いません。ただ、example@example.comをあなたのメールアドレスに書き換えてください。 これでメールが送れると思います。 また、セキュリティ的にはPOSTされたデータには悪質な値が入っている可能性もありますので、値の検証や加工をされることをお薦めします。

回答No.1

コードリーディングしましたが お客様のメールアドレスではなく あなたの(送信元の)メールアドレスを設定するところです。 $addressが送り先のメールアドレスです。

関連するQ&A

  • PHPmeiler  PHP 入力フォーム

    PHPmeiler  PHP 入力フォーム 入力フォームのメールの送受信のコード書こうと思っているのですが、その際、受信率の高い、PHPmeilerを使ったお問い合わせのメールフォームを作りたいのですが、 参考サイトURLhttps://bonsaimasa.hatenablog.com/entry/2019/03/27/094608 この質問に付属している画像は参考サイトのコードの一部を赤線を引いた画像です。 付属の写真はOffice 365を使ってメールの送受信を行うプログラム(php)の一部の画像ですが、その画像の赤い線の$smtp_user = "dummy@bonsai.com";はアドレスでしょうか?他人から入力フォームから送られてきた情報を自分(私)のアドレスに送られるように 自分のアドレスを記載するのでしょうか? また、画像の赤い線もう一つ下にある$from_address = "dummy@bonsai.com";というのは、他人から入力フォームから送られてきた情報を自分(私)のアドレスに送られるように 自分のアドレスを記載するのでしょうか? 回答よろしくお願いいたします

    • ベストアンサー
    • PHP
  • php 練習 入力フォームのテスト用サーバー

    お問い合わせの入力フォームに入力された情報を受け取るコードを書いたのですが、メールの送受信が正常に行われるかテストしたいのですが、 いつでも自動返信できることと、自分が顧客から受け取ることができるかどうかを確認する為に、無料で使え、メールアドレスも自由に使えるサーバーなどはご存知でしょうか? まだ、テストの段階ですので、有料のサーバーを契約すらるともったいない気がして。

    • 締切済み
    • PHP
  • どの物件からの問合せなのかフォームに表示させたい

    ”この物件に問い合わせする”のリンクをクリックし、 問合せフォームに移動した時に、 お問合せの物件 氏名 メールアドレス 等、入力してもらう場合、お客様にお問合せの物件を 入力してもらわずに良いように自動でお問合せ物件を 表示させ、お客様には氏名とメールアドレスのみ 入力してもらうだけで済むようにしたいです。 当然入力してもらった後の確認画面にも表示したいです。 問合せフォームへのリンクURLに何か記述をすればできるのか、 何かjqueryやphp等を使用すればできるのか・・・ 現在問合せフォームはフリーのphpを使っています。 どうぞよろしくお願いいたします。

  • PHPのメールフォーム(お問合せフォーム)について

    PHPのメールフォーム(お問合せフォーム)について 今、PHPでメールフォームを作っています。 (よくあるお問合せフォームです。) 書籍やウェブサイトを参考に 見よう見まねで、一通り作ってみました。 ただ、メールフォームを作るのは初めてなので 自分が作ったのものが公開できるレベルなのか (一般的なレベルに達しているかどうか)不安な感じです。 そこで、メールフォームについて詳しい方いらっしゃいましたら メールフォームを作る際に、押さえておくポイントについて 箇条書きで構いませんので、簡単に教えていただけないでしょうか。 例えばこんな感じで↓ ------------------- ・データの受け渡しはセッションを使う ・入力されたデータは必ずチェック ・Nullバイト攻撃対策をする ・セッションハイジャック対策する -------------------- ■私が作ってみたメールフォームの入力項目は下記のとおりです。 ------------------- <入力項目> 名前 電話番号 郵便番号 住所 メールアドレス メールアドレス(確認のため2回入力) お問合せ内容 ------------------- ■流れとしては下記のとおりです。 ------------------- 1)入力画面 ↓ 2)確認画面 ↓ 3)完了画面 ↓ 4-1)サイト運営者に入力内容が記載されたメールを送信。 4-2)ユーザーにサンクスメールを送信。 -------------------

    • ベストアンサー
    • PHP
  • フォームに入力されたお客さんのアドレスが前の文字にくっついて困っています

    事業のホームページの管理をしています。 そのホームページに、お客さん用の「フォーム」のページを設けて、問い合わせの内容を入力してもらっています。 ホームページ・フォーム(cgi)は、レンタルサーバに設置していて、問い合わせは、メールで設定通り送信されるのですが、問い合わせ内容の一つのメールアドレスが前の文字「=」(半角)にくっついて一体化してしまいます。 このメールアドレスをクリックすると送信用のウィンドウ(メッセージの作成)が起ち上がり、「宛先」欄にこのメールアドレスが記入されてしまいます。 「フォーム」から送信されてくる内容は、     ・     ・ メールアドレス=○○○@○○○.ne.jp そして、この「=○○○@○○○.ne.jp」がアドレスとして認識されます。 つまり、お客さんは、「○○○@○○○.ne.jp」と入力しているのに、「=」がこのアドレスにくっついて違うアドレスになってしまいます。 この一体化したアドレスは、ばらすこともできず、手間がかかります。 メーラーは、Outlook Express6を使用しています。 また、フォーム送信のcgiは、レンタルサーバが用意しているものを使用し、サーバのサイトから「項目」などの内容を設定しています。 フォームのページは、ホームページビルダーV8で自分で作りました。 「フォーム」からの送信は、 ○○○=メールアドレス という形式が多いと思うのですが、皆さんはどのようにされているのでしょうか? アドレス入力の際、1文字空けてから入力してもらえれば、「=」にくっつくことはありませんが、お客さんにこのような手間をかけてもらうのは恐縮します。 何か良い方法があれば、教えて頂けないでしょうか。

  • ホームページ 入力フォームに入力された情報受け取り

    ホームページの入力フォーム作成で入力フォーム→確認画面の表示するコードを書いているのですが、実際に書いたコードは一番下のURLにあります」 書き方は下のURL(1)のサイトに載っている書き方と全く同じコードを書いているのですが(少し変えてますが) (1)https://www.web-officer.com/php/how-to-make-inquiry-form.php contact.htmlファイル内のcheck _contactform l という名前の関数 は起動します。 しかし confirmation.phpという確認画面表示のphpファイルに以下のphpのコードを書くと 確認画面が表示された際に初めの入力フォームに入力した情報が確認画面に送られると思うのですが、確認画面に情報が表示されません。送付画像のように確認画面に入力した情報が表示されません。やり方が間違っているのでしょうか?それともコードの記載場所やコード自体が間違っているのでしょうか? 先に進まず途方に暮れています。 詳しいかた、回答よろしくお願いします。すごく困っています。 以下記載した情報受け取りコード(confirmation.phpに記載URL内の赤枠) <?php $name = $_POST['name'];    名前 $furigana = $_POST['furigana']; フリガナ $tel = $_POST['tel'];       電話番号 $address = $_POST['address']; メールアドレス $pay = $_POST['pay'];     クレジットカード ?> ベースファイル「contact.html」(入力フォーム、check_contactform関数のコード) https://drive.google.com/file/d/1IXzx3OV6Ue9u4RvSb1SxmAo2PncceB8Z/view?usp=sharing 「confirmation.php」(入力フォームの確認画面の表示) https://drive.google.com/file/d/1FDA_K4yHDERMMmWHssu-fh113BE7wwnH/view?usp=sharing

    • ベストアンサー
    • PHP
  • php5のフォーム

    サーバーの仕様が変わってフォームが動かなくなって困っています。 現在のフォームはphp4で、仕様はphp5にしか対応しなくなったということです。 古いコードが使われているからだとは思いますが、 全くの初心者の私には何をどう書き換えたらいいのかさっぱりで、質問に至った次第であります。 現在の状況を説明しますと、フォームに内容を入力して、 エラー画面、確認画面まではしっかり動くのですが、 ”この内容で送信する”ボタンで 問い合わせフォーム真っ白になってしまいます。 ソースは以下です。 ・mail.php========================= <? include_once "func.php"; include_once "mail.pear.php"; class MainClass{ function MainClass(){ switch( $_REQUEST['type'] ){ case "step1": if( $this->Chk_Input() ){ $_REQUEST['act'] = ""; break; } break; //メール送信 case "step2": // 管理者にメール送信 $msg = "お問い合わせフォームより以下の内容が送信されました。\n\n" ."内容をご確認の上、ご担当者様へご連絡をお願いいたします。\n\n\n" ."お名前 : ".$_POST['name']."\n" ."メールアドレス : ".$_POST['mail_ad']."\n" ."お問い合わせ内容 : ".$_POST['other']."\n"; new MailSendByMTA( "**@**.jp" , "**@**.jp" , "【お問い合わせ内容】" , $msg , "" , 0 ); // 登録者にメール送信 $msg = "".$_POST['name']." 様\n\n" ."このたびは「お問い合わせ」をいただき、誠にありがとうございます。\n" ."お問い合わせ内容をご確認ください。弊社スタッフより改めてご連絡いたします。\n\n" ."お名前 : ".$_POST['name']."\n" ."メールアドレス : ".$_POST['mail_ad']."\n" ."お問い合わせ内容 : ".$_POST['other']."\n\n\n\n" ."(株)******\n\n" ."〒111-1111 **県**市****123-456\n" ."電話:000-000-0000 FAX:000-000-0000\n"; new MailSendByMTA( "**@**.jp" , $_POST['mail_ad'] ,"【お問い合わせ内容】" , $msg , "" , 0 ); pageJump( $_SERVER['PHP_SELF']."?act=step2" ); break; } switch( $_REQUEST['act'] ){ case "step1": include_once "review.html.php"; break; case "step2": include_once "thanks.html.php"; break; default: include_once "form.html.php"; } } function Chk_Input(){ if( chkErr_Func( $_POST['name'],0 ) ){ $this->errTxt .= "お名前を入力して下さい。<BR>"; } if( chkErr_Func( $_POST['mail_ad'],0 ) ){ $this->errTxt .= "メールアドレスを入力してください。<BR>"; } else{ if( chkErr_Func( $_POST['mail_ad'],3 ) ){ $this->errTxt .= "メールアドレスに誤りがないかご確認下さい。<BR>"; } else{ if( $_POST['mail_ad'] != $_POST['mail_ad2'] ){ $this->errTxt .= "メールアドレス入力確認の内容がメールアドレスの内容と異なっています。<BR>"; } } } if( chkErr_Func( $_POST['other'],0 ) ){ $this->errTxt .= "お問い合わせ内容を入力してください。<BR>"; } return ( $this->errTxt != "" ) ? true : false; } } new MainClass(); ?> 長々とすいませんが、ご教授ください。 お願い致します。

    • 締切済み
    • PHP
  • PHPのメールフォームについて

    PHPの無料で使えるメールフォームを探しています^^ いろいろ探したんですが、見つかりません。 もし、ご存知でしたら、ヒントでもかまいません。教えてもられると、助かります。 ・メールアドレスを記入する際、再入力フォームに異なるメールアドレスを入れると、注意を出す。 ・必須項目設定が記入されていない場合、注意を出す。 この2つができる、PHPのメールフォームを探しています。 どうぞ、よろしくお願いします^ ^) kent-webさんのPost mailのPHP版のようなものがあると、助かります。 http://www.kent-web.com/data/postmail.html

    • ベストアンサー
    • PHP
  • PHP 入力フォームで入力された情報が、折り返しメ

    PHP 入力フォームで入力された情報が、折り返しメールに表示されません。 折り返しメールに入力フォームに入力された内容の確認と「 下記の情報を受け取りました」など、折り返しメールに表示させたくて以下のコードに書き直したのですが、 受信はできたのですが、表示されたのは、コードに記載した情報「$mail->Body = "▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△」の▼△だけでした。 入力された名前やアドレスを折り返しメールをお問い合わせメッセージと共に受け取りたいのですが、$mail->Bodyにいくつか情報を書いてみたのですがうまくいきません。 付属画像はコード変更前と後の画像になります。確認画面の表示の機能とセキュリティ対策に$_SESSIONと tokenが追加されてす。字数制限の為、PHPMailerを使うコードですが、インポートやcomserの記述 // SMTPサーバの設定などのポート番号やパスワード等の記述もカットしています。 どこが間違っているのでしょうか?詳しい方回答よろしくお願いいたします。 どこが間違っているのでしょうか?詳しい方回答よろしくお願いいたします。 <?php // 入力内容の取得・変数に格納 session_start(); if(isset($_POST['token'], $_SESSION['token']) && ($_POST['token'] === $_SESSION['token'])){ unset($_SESSION['token']); $name = $_SESSION['name']; $email = $_SESSION['email']; } // メール日本語対応 mb_language("japanese"); mb_internal_encoding("UTF-8"); // インスタンス生成 $mail = new PHPMailer(true); // 文字エンコードを指定 $mail->CharSet = 'utf-8'; try { // デバッグ設定 // $mail->SMTPDebug = 2; // デバッグ出力を有効化(レベルを指定) // $mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str<br>";}; // SMTPサーバの設定 $mail->isSMTP(); // メール本体 $mail->setFrom('〇〇@', 'kkk'); // 送信元メールアドレスと名前 $mail->addAddress($email,$name); // 送信先メールアドレスと名前 $mail->Body = "お名前:".$name."\n"; $mail->Body = "下記の情報を受け取りました。\n内容を確認し、こちらから折り返し、ライン又はメールアドレスにてご案内させて頂きます。\n\n"; $mail->Body = "メールアドレス:".$email."\n"; $mail->Body = "▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼\n"; $mail->Body = "【Web担当者の作り方】\n"; $mail->Body = "メール:〇〇@\n"; $mail->Body = "URL:https://www.web-officer.com/\n"; $mail->Body = "▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼\n"; // 送信 $mail->send(); echo '送信済み'; } catch (Exception $e) { echo "送信失敗: {$mail->ErrorInfo}"; } ?>

    • ベストアンサー
    • PHP
  • phpでのメールアドレスの2重チェックをする方法

    問い合わせフォームを作成しているのですが、なんとかデータの受け渡しと入力がなかった場合の「必ず入力して下さい」はできました。 そこで、問い合わせフォームにあるメールアドレスと確認用メールアドレスを、submit後に2重チェックしたいのですが、どうしたら良いのでしょうか? メールアドレスと確認用メールアドレスが違うなら「確認用のメールアドレスと一致しておりません」と表記し、合っているなら入力したアドレスを表記したいです。 submit後のphpファイルに、なにか特別なコードを入力する必要があると思うのですが、どのようなコードか教えて下さい。ifとelseを使うのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう