不明白为什么我的联系表格没有发送电子邮件

时间:2013-05-07 10:06:03

标签: php jquery html css

我正在尝试在我的网站上弹出一个电子邮件,您可以通过以下链接看到: 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();
 ?>

Jquery的:

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

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

由于

4 个答案:

答案 0 :(得分:2)

你的jQuery正在干扰。

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

在jQuery 1.9中不推荐使用

$.live(),而这正是您使用的内容。请降级或使用其他功能,例如.submit()

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

此外,在将$_POST输入用于电子邮件标头之前清理它们至关重要,否则黑客可能会在标题中注入不良内容。

答案 3 :(得分:0)

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

http://blog.techwheels.net/send-email-from-localhost-wamp-server-using-sendmail/