联系表单在显示字符串后不会发送电子邮件

时间:2015-10-29 18:48:10

标签: php wordpress

这是我在Wordpress中的网站的联系表单插件。联系表单如果与字符串类似,则应显示消息,然后让用户决定是否仍要发送消息。

问题是deliver_mail_now();函数发送消息但是如果我显示similair文本消息并且用户按发送电子邮件(deliver_mail())它即使它发送消息也不会发送消息。几乎相同的功能。

        function acf_similair() {
                   if ( isset( $_POST['button-submit'])) {      //The contact form submit button

                        $name    = sanitize_text_field( $_POST["name"] );
                        $email   = sanitize_email( $_POST["email"] );
                        $subject = sanitize_text_field( $_POST["subject"] );
                        $message = esc_textarea( $_POST["message"] );

                   $similair = '//';      

                   similar_text($similair, $message, $percent);
                   if ($percent > 50) {
                   echo '//';
                   echo '<form action="' . esc_url( $_SERVER['REQUEST_URI'] ) . '" method="post">';
                   echo '<input type="submit" name="submit" id="submit" value="Send email">';
                   echo '</form>';
                   } else {
                    deliver_mail_now();
                   }

    function deliver_mail_now() {

                    $name    = sanitize_text_field( $_POST["name"] );
                    $email   = sanitize_email( $_POST["email"] );
                    $subject = sanitize_text_field( $_POST["subject"] );
                    $message = esc_textarea( $_POST["message"] );           

                    $to = get_option( 'admin_email' );
                    $headers = "From: $name <$email>" . "\r\n";

                    if ( wp_mail( $to, $subject, $message, $headers ) ) {
                        echo 'Success';
                    } else {    
                        echo 'Fail';
                    }
            }

function deliver_mail() {
        if ( isset( $_POST['submit'])) {
                    $name    = sanitize_text_field( $_POST["name"] );
                    $email   = sanitize_email( $_POST["email"] );
                    $subject = sanitize_text_field( $_POST["subject"] );
                    $message = esc_textarea( $_POST["message"] );           

                    $to = get_option( 'admin_email' );
                    $headers = "From: $name <$email>" . "\r\n";

                    if ( wp_mail( $to, $subject, $message, $headers ) ) {
                        echo 'Success';
                    } else {    
                        echo 'Fail';
                    }
        }
}

0 个答案:

没有答案