1

以下のリンクで見ることができる私のサイトのポップアップで電子メールを送信しようとしています: http://www.madaxedesign.co.uk

ただし、ありがとうメッセージに完全にリダイレクトされますが、リダイレクト後は PHP が実装されません。以下に、このコンタクト フォームに使用される PHP、HTML、および Jquery を示します。

HTML:

<form id="submit_message" class="hide_900" action="/send.php" method="post">
            <div id="NameEmail">
                <div>
                    <label for="name">Name*</label>
                    <input type="text" title="Enter your name" name="name"/>
                </div>
                <div>
                    <label for="email">Email*</label>
                    <input type="text" title="Enter your email address" name="email"/>
                </div>
            </div>
            <div id="MessageSubmit">
                <div>
                    <textarea maxlength="1200" title="Enter your message" name="message"></textarea>
                    <label for="message">Message</label>
                </div>
                <div class="submit">
                    <input type="submit" value="Submit"/>
                </div>
            </div>
        </form>

PHP:

 <?php 
 $name = $_POST['name'];
 $email = $_POST['email'];
 $message = $_POST['message'];
 $formcontent="From: $name \n Message: $message";
 $recipient = "maxlynn12@gmail.com";
 $subject = "Email From Madaxe";
 $mailheader = "From: $email \r\n";
 mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
 header('Location: /thanks.html');
 exit();
 ?>

Jクエリ:

        $('form#submit_message').live('submit', function() {
        $('#popup').load('/thanks.html');
        return false;
    }); 

誰かがすぐに調べて、すぐに修正できる明らかな何かが欠けているかどうかを確認したり、正しい方向に向けたりできるかどうか疑問に思っていました.

ありがとう

4

4 に答える 4

2

jQuery が干渉しています。

AJAX を使用してフォームを投稿すると、これが役立つと思います: PHP を使用した jQuery Ajax POST の例

于 2013-05-07T10:10:08.130 に答える
0

$.live()jQuery 1.9で非推奨になり、それがあなたが使用しているようです。ダウングレードするか、 などの代替機能を使用してください.submit()

$('#submit_message').submit(function (e) {
    e.preventDefault();
    $('#popup').load('/thanks.html');
}

また、電子メール ヘッダーに使用する前に、入力をサニタイズすることが重要です$_POST。そうしないと、ハッカーがヘッダーに悪いものを挿入する可能性があります。

于 2013-05-07T10:31:08.430 に答える
0

jquery コードは必要ありません。実際には、デフォルトのアクションフォームを妨げますaction=send.php。そして、それはあなたの入力をに渡しませんsend.php

于 2013-05-07T10:16:14.610 に答える