-1

この質問に簡単な答えがあることを願っています。

Web サイトに GET メソッドを使用してフォーム内の変数を PHP ページに送信する HTML フォームがあります。

<form name="create_landing_page" action="/landing-page/" method="get">

私がやりたいことは、そのフォームが送信されたときに電子メールを生成して、データベースに保存しないため、動的 URL をどこかに書き留めておくことです。このメソッドを使用して、ページが読み込まれたときに電子メールを自動的に生成する PHP をランディング ページに配置してみました:ページが表示されたときに電子メール通知を送信するにはどうすればよいですか? 、しかし、テストメールをまったく受信していません。

送信されたフォームから変数を取得してメールで送信するか、ランディング ページから URL を取得してメールで送信する簡単な方法はありますか?

ご協力いただきありがとうございます!

4

3 に答える 3

2

最良の方法は、フォームから値を取得し、それらの値を電子メールで送信することです。

注: 入力はまったくクリーンアップしていません。データベースを使用する場合は、必ずクリーンアップしてください。

LandingPage.html

<form name="create_landing_page" action="/landing-page/" method="get">
<input name="email_address" value="Enter your email" />
<input name="name" value="Enter your name" />
</form>

ランディングページ(.php)

        if(isset($_GET['email_address']) && !empty($_GET['email_address'])){
    $emailAddress = $_GET['email_address'];
    }

        if(isset($_GET['name']) && !empty($_GET['name'])){
    $name= $_GET['name'];
    }

        $to      = $emailAddress;
        $subject = 'the subject';
        $message = 'hello ' . $name;
        $headers = 'From: youremail@example.com' . "\r\n" .
            'Reply-To: youremail@example.com' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();

        if(!mail($to, $subject, $message, $headers))
        {
            die('There was an error sending out the email');
        }
于 2013-03-14T16:07:48.043 に答える
1

システムにメールサービスがないことが原因である可能性があります。次のことを試してください。

$result=mail($mailAddress,$subject,$content);
if(!$result)
    die("Mail subsystem error!");
于 2013-03-14T16:10:11.093 に答える
0

スクリプトが実行されているページへのフルパス(パラメータを含む)を知りたい場合は、を使用できます_SERVER["REQUEST_URI"]

アプリがホストされている場所やサーバーの構成によっては、メールの送信が難しい場合があります。このmail()コマンドは、スパムを減らすためにサービスをホストすることによって無効になることがあります。共有ホスティングサービスを使用している場合mail()は、利用可能かどうかを確認することをお勧めします。

于 2013-03-14T16:09:28.170 に答える