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

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

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

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

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

3回答

475閲覧

php メールフォーム機能ですが確認画面時点飛んでしまう

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

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

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2017/10/20 10:47

メールフォーム機能をphpで書いていますが 入力画面で入力し、入力確認画面ボタンを押すと完了メールが飛んでしまいます。

どこに問題がありますでしょうか?

誰か助けてください!!

confirm.php

<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST["name"]; $company = $_POST["company"]; $email = $_POST["email"]; } $body = <<< EOM ************************************************** このメールは、自動的に送信されています。 このメールに返信頂きましても対応致しかねますのでご注意下さい。 ************************************************** 送信内容は以下になります。 【 貴社名 】 {$name} 【お名前 】 {$company} 【 メールアドレス】 {$email} EOM; define('REQUIRED_FILE','vendor/autoload.php'); // Replace sender@example.com with your "From" address. // This address must be verified with Amazon SES. define('SENDER',mb_encode_mimeheader('example', "UTF-8", "B") . '<noreply@example.com>'); //define('SENDER','noreply@japan-career.asia'); // Replace recipient@example.com with a "To" address. If your account // is still in the sandbox, this address must be verified. define('RECIPIENT', 'test@example.com'); // Replace us-west-2 with the AWS region you're using for Amazon SES. define('REGION','us-west-2'); define('SUBJECT','[test] お問い合わせがありました。'); // define('BODY',$body); require REQUIRED_FILE; use Aws\Ses\SesClient; $client = SesClient::factory(array( 'version'=> 'latest', 'region' => REGION, 'credentials' => array( 'key' => 'XXXXXXXXXXXXXXXXXXXX', 'secret' => 'XXXXXXXXXXXXXXXXXXXXXX', ) )); $request = array(); $request['Source'] = SENDER; $request['Destination']['ToAddresses'] = array(RECIPIENT); $request['Message']['Subject']['Data'] = SUBJECT; $request['Message']['Body']['Text']['Data'] = BODY; try { $result = $client->sendEmail($request); $messageId = $result->get('MessageId'); /*echo("Email sent! Message ID: $messageId"."\n");*/ } catch (Exception $e) { echo("The email was not sent. Error message: "); echo($e->getMessage()."\n"); } ?> <!DOCTYPE html> <html lang="ja"> <body> <h3>確認画面</h3> <p align="center">以下の内容で間違いがなければ、「送信する」ボタンを押してください。</p> <form action="thanks.php" method="post"> <table class="formTable submit"> <input type="hidden" name="name" value="<?php echo $name; ?>"> <input type="hidden" name="company" value="<?php echo $company; ?>"> <input type="hidden" name="email" value="<?php echo $email; ?>"> <tr> <th><label>貴社名</label></th> <td><p><?php echo $name; ?></p></td> </tr> <tr> <th><label>お名前</label></th> <td><p><?php echo $company; ?></p></td> </tr> <tr> <th><label>メールアドレス</label></th> <td><p><?php echo $email; ?></p></td> </tr> </table> <input type="submit" name="submit" value="送信する"> <input type="button" value="前画面に戻る" onclick="history.back(-1)"> </form> </div>

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

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

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

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

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

alone.mk2

2017/10/20 14:09

「入力確認画面ボタンを押すと完了メールが飛んでしまいます。」と問題だけが書いてあります。最終的にどうしたいのかがわかりません。
退会済みユーザー

退会済みユーザー

2017/10/23 02:53

最終的には確認画面で確認後の送信するボタン押したらメール飛ぶようにしたいです。
guest

回答3

0

このページでメールを作成して飛ばす処理を行っているので、当然の結果かと。。。
確認ページであれば、php 部分の殆どが必要ありません。

どのような処理をしているのか、ちゃんと追ってみたほうが良いです。

ちなみに、学習のためのスクリプトだと思いますが、セキュリティ的にスカスカなので、外部からアクセスできるところにスクリプトは置かないでください。
他人に迷惑をかける可能性があります。

投稿2017/10/23 02:52

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

この行でメールを送信しているので削除してください

php

1$result = $client->sendEmail($request);

投稿2017/10/20 16:24

chitoku

総合スコア1610

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

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

退会済みユーザー

退会済みユーザー

2017/10/23 02:33

chitokuさん ありがとうございます。 下記の行を削除しますと Undefined variable: resultになってしましが、try{ }catch (Exception $e) {}部分は全部削除すればいいですか? $result = $client->sendEmail($request);
chitoku

2017/10/24 12:31

$result をどこかで使っているのではないですか? 掲載された質問に載っているソースコードが全てでない可能性があります。
退会済みユーザー

退会済みユーザー

2017/10/25 03:06

掲載は全てのソースコードです $resultがある部分は下記が全部です $request = array(); $request['Source'] = SENDER; $request['Destination']['ToAddresses'] = array(RECIPIENT); $request['Message']['Subject']['Data'] = SUBJECT; $request['Message']['Body']['Text']['Data'] = BODY; try { $result = $client->sendEmail($request); $messageId = $result->get('MessageId'); /*echo("Email sent! Message ID: $messageId"."\n");*/ } catch (Exception $e) { echo("The email was not sent. Error message: "); echo($e->getMessage()."\n"); }
chitoku

2017/10/25 03:59

一行下でも使っていましたね。$messageId = $result->get('MessageId'); も削除してください。
退会済みユーザー

退会済みユーザー

2017/10/25 08:16

なるほどです、質問ですがtryのところで何もしなくていいですか?
退会済みユーザー

退会済みユーザー

2017/10/25 08:24

ご指摘通りですとメールが届かなくなりました。
chitoku

2017/10/25 10:28

thanks.php で何もしていないということでしょうか?
退会済みユーザー

退会済みユーザー

2017/10/26 01:26

thank.phpは何もしてないです
退会済みユーザー

退会済みユーザー

2017/10/27 02:34

ありがとうございます。
guest

0

ベストアンサー

自分修正し直しました。

投稿2017/10/27 02:34

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2017/10/27 02:40

どのように解決したのか、記述するのがこちらのサイトでのマナーです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問