javascript - 为什么我的联系表不起作用? loading.gif 卡住了,没有任何反应

标签 javascript php html

我已尝试将我的联系表单与 XAMPP 一起使用,我已将 .ini 文件等正确配置到 GMAIL 以进行测试。你能看出我哪里出错了吗?

我什至尝试过 WAMP,但仍然不起作用。

我按照这个人的建议更改了 xwamp 文件: How to configure XAMPP to send mail from localhost?

HTML

<form method="post" action="contact-form.php" name="contactform" id="contactform">
    <fieldset>
        <input name="name" type="text" id="name" placeholder="Name"/> 
        <input name="email" type="text" id="email" placeholder="Email"/>  
        <input name="subject" type="text" id="subject" placeholder="Subject"/> 
    </fieldset>
    <fieldset> 
        <textarea name="comments" cols="40" rows="3" id="comments" placeholder="Message"></textarea>
    </fieldset>
    <input type="submit" class="submit" id="submit" value="Send Message" />
</form>

JS

 $('#contactform').submit(function(){
    var action = $(this).attr('action');
    $("#message").slideUp(250,function() {
        $('#message').hide();
        $('#submit')
            .after('<img src="img/assets/cbp-loading.gif" class="loader" />')
            .attr('disabled','disabled');
        $.post(action, {
            name: $('#name').val(),
            email: $('#email').val(),
            subject: $('#subject').val(),
            comments: $('#comments').val(),
        },
            function(data){
                document.getElementById('message').innerHTML = data;
                $('#message').slideDown(250);
                $('#contactform img.loader').fadeOut('slow',function(){$(this).remove()});
                $('#submit').removeAttr('disabled');
                if(data.match('success') != null) $('#contactform').slideUp(850, 'easeInOutExpo');
            }
        );
    });
    return false;   

PHP

 <?php
if (isset($_POST["submit"])) {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $subject = 'Message from Contact Demo ';
    $message = $_POST['message'];
    $from = 'Demo Contact Form'; 
    $to = 'myemail@gmail.com'; 
    $body = "From: $name\n E-Mail: $email\n Message:\n $message";
    mail('myemail@gmail.com', $name, $email, $subject, $message);
}
?>

Sendmail代码(我已经明显删除了电子邮件和密码)

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=MYEMAIL@gmail.com
auth_password=MY EMAIL PASSWORD
force_sender=MYEMAIL@gmail.com

最佳答案

最被低估的一点是不以管理员身份启动 XAMPP。此外,我还缺少 smtp 和 co 的一些配置:

$smtp = Mail::factory('smtp', array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => '465',
        'auth' => true,
        'username' => 'EMAIL',
        'password' => 'PASSWORD'
    ));

这些是允许发送到您的电子邮件地址所必需的。否则任何人都可能向您的电子邮件地址发送垃圾邮件。

真诚的liqSTAR

关于javascript - 为什么我的联系表不起作用? loading.gif 卡住了,没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41243677/

相关文章:

javascript - jQuery 中的字符串验证错误

javascript在onmouseover和onmouseout时改变图像

javascript - 如何通过ajax作为循环顺序追加到html中?

html - 我如何给 flex 元素 100% 宽度?

html - Javascript/php 轮播无法正常工作

javascript - 使用 AJAX 加载数据

php - 分页脚本的 PDO 语法或访问冲突错误

php - 公共(public)函数与 CodeIgniter 中的函数

html - 最后一个 p 属性不应该覆盖它上面的所有 p 属性吗?

Javascript 使用输入更改密码