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();
 ?>

查询:

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

我想知道是否有人可以快速查看并查看我是否遗漏了任何我可以快速修复甚至指向正确方向的明显内容。

谢谢

4

4 回答 4

2

您的 jQuery 正在干扰。

我认为这可能会有所帮助,使用 AJAX 发布您的表单:jQuery Ajax POST example with PHP

于 2013-05-07T10:10:08.130 回答
0

你不需要你的 jquery 代码。实际上它会阻止您的默认操作表单action=send.php。它不会将您的输入传递给send.php

于 2013-05-07T10:16:14.610 回答
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

如果您尝试通过 localhost 发送邮件,您需要更改 php.ini 文件中的一些设置。请参阅下面的链接来执行此操作。

http://blog.techwheels.net/send-email-from-localhost-wamp-server-using-sendmail/ 
于 2013-05-07T10:49:04.597 回答