0

我创建了一个联系表格,向网站管理员和填写联系表格的人发​​送电子邮件。它工作正常,我刚刚回到它进行更多测试,它已停止发送。据我所知,我没有更改任何代码。我无法弄清楚它有什么问题。有人可以帮忙吗?下面是我正在使用的三个文件的代码。

这是联系表格文件:

<div id="contact-form" class="contact-form">

    <div class="rounded-box">

        <div class="rounded-box-title">

        <h3>Ask for a call back</h3>
        <img src="<?php echo get_bloginfo('url') ?>/images-default/br_next.png"/>

        </div><!-- .rounded-box-title -->

        <?php  
        $cf = array(); 

        if(isset($_SESSION['cf_returndata'])){  
            $cf = $_SESSION['cf_returndata'];  
        ?>

        <div id="success" class="success"><?php echo ($cf['success']); ?></div>

        <script>
        $("#success").delay(6000).slideUp();
        </script>

        <?php            
        }
        ?>  

        <div class="required-text-line">
        <span class="required">*</span><span class="required-text">indicates required field</span>
        </div>      

        <form name="contact-form" onsubmit="return validateForm()" action="<?php bloginfo('url'); ?>/wp-content/themes/example/contact-form-send.php" method="POST">

            <fieldset> 
            <label for="fname"><span class="required">*</span>First name:</label></br>
            <input type="text" name="fname" id="fname" onblur="return validateFirstName()" value="" />  
            <span class="error" id="fnameError" style="display: none;"></span>
            <script>
            $("#fname").blur(function(){
                $("#fnameError").delay(6000).slideUp();
            })                
            </script>
            </fieldset>

            <fieldset> 
            <label for="lname"><span class="required">*</span>Last name:</label></br>
            <input type="text" name="lname" id="lname" onblur="return validateLastName()" value="" />  
            <span class="error" id="lnameError" style="display: none;"></span>
            <script>
            $("#lname").blur(function(){
                $("#lnameError").delay(6000).slideUp();
            })                
            </script>
            </fieldset>

            <fieldset>  
            <label for="email"><span class="required">*</span>Email:</label></br>
            <input type="text" name="email" id="email" onblur="return validateEmail()" value="" /> 
            <span class="error" id="emailError" style="display: none;"></span>
            <script>
            $("#email").blur(function(){
                $("#emailError").delay(6000).slideUp();
            })                
            </script>
            </fieldset>

            <fieldset>  
            <label for="tel"><span class="required">*</span>Telephone:</label></br>
            <input type="text" name="tel" id="tel" onblur="return validateTel()" value="" /> 
            <span class="error" id="telError" style="display: none;"></span>
            <script>
            $("#tel").blur(function(){
                $("#telError").delay(6000).slideUp();
            })                
            </script>
            </fieldset>

            <fieldset>  
            <label for="message"><span class="required">*</span>Message:</label></br>
            <textarea name="message" id="message" onblur="return validateMessage()" ></textarea> 
            <span class="error" id="messageError" style="display: none;"></span>
            <script>
            $("#message").blur(function(){
                $("#messageError").delay(6000).slideUp();
            })                
            </script>
            </fieldset>

            <fieldset id="hiddenfield">  
            <label for="hidden"></label>
            <textarea name="hidden" id="hidden" ></textarea> 
            </fieldset>

            <input type="submit" value="Submit" id="submit" />                
            <script>
            $("form").submit(function(){        
                $(".error").delay(6000).slideUp();
            })
            </script>    
        </form>

        <?php unset($_SESSION['cf_returndata']); ?>      

    </div><!-- .rounded-box -->

</div><!-- .contact-form -->

这是发送 PHP 文件:

<?php 

if( isset($_POST) ){ 

    if (empty($_POST ['hidden'])) { 

        $fname = htmlspecialchars($_POST ['fname']);
        $lname = htmlspecialchars($_POST ['lname']);
        $email = htmlspecialchars($_POST ['email']);
        $tel = htmlspecialchars($_POST ['tel']);
        $message = htmlspecialchars($_POST ['message']);

        $to = "example@gmail.com";
        $subject = "Callback request";
        $body = "
            <html>
            <head>
            </head>
            <header style='padding:10px'>
            <a href='http://example.com'>
            <img src='http://example.com/images-default/example-logo.png' alt='example.com'>
            </a>
            </header>
            <body style='border-top:2px solid #91448D;margin-top:15px'>
            <p>You have recieved an message through the callback request form on the website.</p>
            <p><strong>Name: </strong>{$fname} {$lname} </p>
            <p><strong>Email: </strong>{$email} </p>
            <p><strong>Telephone: </strong>{$tel} </p>
            <p><strong>Message: </strong>{$message}</p>
            </body>
            </html>
            ";
        $headers = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= 'From: example <info@example.com>' . "\r\n";
        $headers .= 'Reply-To: info@example.com' . "\r\n";

        mail (  //email to info@example.com
            $to,
            $subject,
            $body,
            $headers 
        );

        $subject2 = "Thanks for your enqiry";
        $body2 = "
            <html>
            <head>
            </head>
            <header style='padding:10px'>
            <a href='http://example.com'>
            <img src='http://example.com/images-default/example-logo.png' alt='example.com'>
            </a>
            </header>
            <body style='border-top:2px solid #91448D;margin-top:15px'><br/>
            <p style='margin-bottom:1em'>Hi {$fname},<br/><br/>
            Thanks for enquiring about private maths tuition with <a href='http://example.com'>example.com</a>.<br/><br/>
            We'll get back to you within 24 hours for a chat about your child's learning needs.<br/><br/>
            Regards,<br/><br/>
            <strong>Kathy</strong><br/>
            <a href='http://example.com'>example.com</a> founder<br/>
            tel: 01582 472060<br/>
            email: <a href='mailto:info@example.com'>info@example.com</a></p>
            </body>
            </html>
            ";

        mail (  //email to enquiror
            $email,
            $subject2,
            $body2,
            $headers 
        );

        $success = "Thank you for your enquiry. We'll get back to you within 24 hours.";
        $returndata = array (
            'success' => $success
        );

        session_start();  
        $_SESSION['cf_returndata'] = $returndata;

        header('location: ' . $_SERVER['HTTP_REFERER']);
    }
}

?>

这是 javascript 验证文件:

function validateFirstName(){

    if (
        document.getElementById('fname').value == "") {
            document.getElementById('fnameError').style.display = "block";
            document.getElementById('fnameError').innerHTML = "Please enter your first name";
            return false;       
        } 
    else {
        document.getElementById('fnameError').style.display = "none";
        return true; 
    }
}

function validateLastName(){

    if (
        document.getElementById('lname').value == "") {
            document.getElementById('lnameError').style.display = "block";
            document.getElementById('lnameError').innerHTML = "Please enter your last name";
            return false;       
        } 
    else {
        document.getElementById('lnameError').style.display = "none";
        return true;
    }
}

function validateEmail(){ 

    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

    if (
        re.test(document.getElementById('email').value)){
            document.getElementById('emailError').style.display = "none";
            return true;
            }
        else {
            if (
                document.getElementById('email').value == "") {
                    document.getElementById('emailError').style.display = "block";
                    document.getElementById('emailError').innerHTML = "Please enter your email address";
                    return false;
                }
                else {
                    document.getElementById('emailError').style.display = "block";
                    document.getElementById('emailError').innerHTML = "Please enter a valid email address";
                    return false;
                }
        }
}

function validateTel(){ 

    var re = /(((\+44)? ?(\(0\))? ?)|(0))( ?[0-9]{3,4}){3}/;

    if (
        re.test(document.getElementById('tel').value)){
            document.getElementById('telError').style.display = "none";
            return true;
            }
        else {
            if (
                document.getElementById('tel').value == "") {
                    document.getElementById('telError').style.display = "block";
                    document.getElementById('telError').innerHTML = "Please enter your phone number";
                    return false;
                }
                else {
                    document.getElementById('telError').style.display = "block";
                    document.getElementById('telError').innerHTML = "Please enter a valid phone number";
                    return false;
                }
        }
}

function validateMessage(){

    if (
        document.getElementById('message').value == "") {
            document.getElementById('messageError').style.display = "block";
            document.getElementById('messageError').innerHTML = "Please enter a message";
            return false;       
        } 
    else {
        document.getElementById('messageError').style.display = "none";
        return true;
    }
}

function validateForm(){
    // Set error catcher
    var error = 0;
    // Check first name

    if(!validateFirstName(document.getElementById('fname').value)){
        document.getElementById('fnameError').style.display = "block";
        error++;
    }
    // Check last name
    if(!validateLastName(document.getElementById('lname').value)){
        document.getElementById('lnameError').style.display = "block";
        error++;
    }
    // Validate email
    if(!validateEmail(document.getElementById('email').value)){
        document.getElementById('emailError').style.display = "block";
        error++;
    }
    // Validate phone number
    if(!validateTel(document.getElementById('tel').value)){
        document.getElementById('telError').style.display = "block";
        error++;
    }
    if(!validateMessage(document.getElementById('message').value)){
        document.getElementById('messageError').style.display = "block";
        error++;
    }
    if (
        !document.getElementById('hidden').value == "") {
        error++;
    }
    if(error > 0){
    return false;
    }
}   
4

0 回答 0