PHP电子邮件发送脚本的一些问题

时间:2018-02-22 15:19:40

标签: javascript php forms

我在网站上有姓名/电子邮件/电话/留言的表格,但是当电子邮件发给我时,它是空的,没有任何信息。我该如何解决?如果你需要更多代码告诉我。这是forms.js的代码

;(function ($){
    $.fn.forms = function (o) {
        return this.each(function () {
            var th = $(this),
                _ = th.data('forms') || {
                    errorCl: 'error',
                    emptyCl: 'empty',
                    invalidCl: 'invalid',
                    notRequiredCl: 'notRequired',
                    successCl: 'success',
                    successShow: '6000',
                    mailHandlerURL: '/site/js/bat/MailHandler.php',
                    ownerEmail: 'highperion1337@gmail.com',
                    product: 'Заказ',
                    stripHTML: true,
                    smtpMailServer: 'localhost',
                    targets: 'input,textarea',
                    controls: 'a[data-type=reset],a[data-type=submit]',
                    validate: true,
                    rx: {
                        ".state": {
                            rx: /.{2}/,
                            target: 'input'
                        },
                        ".state": {
                            rx: /^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,
                            target: 'input'
                        },
                        ".email": {
                            rx: /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i,
                            target: 'input'
                        },
                        ".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
                        ".fax": {
                            rx: /^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,
                            target: 'input'
                        },
                        ".message": {
                            rx: /.{10}/,
                            target: 'textarea'
                        }
                    },
                    preFu: function () {
                        _.labels.each(function () {
                            var label = $(this),
                                inp = $(_.targets, this),
                                defVal = inp.val(),
                                trueVal = (function () {
                                    var tmp = inp.is('input') ? (tmp = label.html().match(/value=['"](.+?)['"].+/), !!tmp && !!tmp[1] && tmp[1]) : inp.html()
                                    return defVal == '' ? defVal : tmp
                                })()
                            trueVal != defVal && inp.val(defVal = trueVal || defVal)
                            label.data({
                                defVal: defVal
                            })
                            inp
                               // .bind('focus', function () {
                              //      inp.val() == defVal && (inp.val(''), _.hideEmptyFu(label), label.removeClass(_.invalidCl))
                             //   })
                                .bind('blur', function () {
                                    _.validateFu(label)
                                    if (_.isEmpty(label))
                                        inp.val(defVal), _.hideErrorFu(label.removeClass(_.invalidCl))
                                })
                                .bind('keyup', function () {
                                    label.hasClass(_.invalidCl) && _.validateFu(label)
                                })
                            label.find('.' + _.errorCl + ',.' + _.emptyCl).css({
                                display: 'block'
                            }).hide()
                        })
                        _.success = $('.' + _.successCl, _.form).hide()

                    },
                    isRequired: function (el) {
                        return !el.hasClass(_.notRequiredCl)
                    },
                    isValid: function (el) {
                        var ret = true
                        $.each(_.rx, function (k, d) {
                            if (el.is(k))
                                ret = d.rx.test(el.find(d.target).val())
                        })
                        return ret
                    },
                    isEmpty: function (el) {
                        var tmp
                        return (tmp = el.find(_.targets).val()) == '' || tmp == el.data('defVal')
                    },
                    validateFu: function (el) {
                        el.each(function () {
                            var th = $(this),
                                req = _.isRequired(th),
                                empty = _.isEmpty(th),
                                valid = _.isValid(th)

                            if (empty && req)
                                _.showEmptyFu(th.addClass(_.invalidCl))
                            else
                                _.hideEmptyFu(th.removeClass(_.invalidCl))

                            if (!empty)
                                if (valid)
                                    _.hideErrorFu(th.removeClass(_.invalidCl))
                                else
                                    _.showErrorFu(th.addClass(_.invalidCl))
                        })
                    },
                    getValFromLabel: function (label) {
                        var val = $('input,textarea', label).val(),
                            defVal = label.data('defVal')
                        return label.length ? val == defVal ? 'nope' : val : 'nope'
                    },


                    submitFu: function () {
                        _.validateFu(_.labels)
                        if (!_.form.has('.' + _.invalidCl).length)
                            $.ajax({
                                type: "POST",
                                url: _.mailHandlerURL,
                                data: {
                                    name: _.getValFromLabel($('.name', _.form)),
                                    email: _.getValFromLabel($('.email', _.form)),
                                    phone:_.getValFromLabel($('.phone',_.form)),
                                    message: _.getValFromLabel($('.message', _.form)),
                                    roistat_visit: getCookie('roistat_visit'),
                                    pro_duct: _.product,
                                    hotrock:$('input.info-product',_.form).val()||'nope',
                                    owner_email:_.ownerEmail,
                                    stripHTML: _.stripHTML
                                },
                                 beforeSend: function(){
                                   _.startloader()
                               },
                                success: function () {
                                    _.stopLoader()
                                    _.showFu()
                                    _.yam()

                                }
                            })

                    },



stopLoader: function(){    
      $(".load-send", _.form).hide().fadeOut()
  $("a.theme-button", _.form).removeClass('load')
      },

startloader: function(){
        $(".load-send", _.form).show().fadeIn()
        $("a.theme-button", _.form).addClass('load')
      },    

yam: function(){    
   yaCounter47543830.reachGoal('zayavka')
      },

                    showFu: function () {
                        _.success.slideDown(function () {
                            setTimeout(function () {
                                _.success.slideUp()
                                _.form.trigger('reset')
                            }, _.successShow)
                        })
                    },
                    controlsFu: function () {
                        $(_.controls, _.form).each(function () {
                            var th = $(this)
                            th
                                .bind('click', function () {
                                    _.form.trigger(th.data('type'))
                                    return false
                                })
                        })
                    },
                    showErrorFu: function (label) {
                        label.find('.' + _.errorCl).slideDown()
                    },
                    hideErrorFu: function (label) {
                        label.find('.' + _.errorCl).slideUp()
                    },
                    showEmptyFu: function (label) {
                        label.find('.' + _.emptyCl).slideDown()
                        _.hideErrorFu(label)
                    },
                    hideEmptyFu: function (label) {
                        label.find('.' + _.emptyCl).slideUp()
                    },
                    init: function () {
                        _.form = _.me
                        _.labels = $('label', _.form)

                        _.preFu()

                        _.controlsFu()

                        _.form
                            .bind('submit', function () {
                                if (_.validate)
                                    _.submitFu()
                                else
                                    _.form[0].submit()
                                return false
                            })
                            .bind('reset', function () {
                                _.labels.removeClass(_.invalidCl)
                                _.labels.each(function () {
                                    var th = $(this)
                                    _.hideErrorFu(th)
                                    _.hideEmptyFu(th)
                                })
                            })
                        _.form.trigger('reset')
                    }
                }
            _.me || _.init(_.me = th.data({
                forms: _
            }))
            typeof o == 'object' && $.extend(_, o)
        })
    }
})(jQuery)

function getCookie(name) {

    var matches = document.cookie.match(new RegExp(
      "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
    ))
    return matches ? decodeURIComponent(matches[1]) : undefined
}

这是MailHandler.php的代码

<?php 

$name = $_POST['.name'];
$phone = $_POST['.phone'];
$email = $_POST['.email'];
$message = $_POST['.message'];
$to = "highperion1337@gmail.com";
$subject = "Ticket";

mail ($to, $subject, $name . $phone . $email . $message);

?>

Screenshot

也许在变种中有些麻烦?处理这个问题就像4个小时;(

0 个答案:

没有答案