执行联系表单后省略PHP Include

时间:2016-03-18 11:42:40

标签: php twitter-bootstrap forms contacts

按预期联系工作,但是当我被重定向到我的“谢谢”页面时。包含所有我的页脚内容的PHP包含被省略。谁能看到我做错了什么?

以下是有问题的表格: http://www.tdtandassociates.co.za/contactus.php

当我提交时,会发送电子邮件&按预期收到,我被重定向。但是页脚没有了。

<?php 
include ($_SERVER['DOCUMENT_ROOT'].'/content_includes/html_top.php');
?>


        <!-- Main Body Container -->
        <div class="container-fluid contentBoxes bg-grey text-center">
            <div class="container">

<?php
if($_POST && isset($_FILES['my_file']))
{

    $from_email = $_POST['email']; //sender email
    $recipient_email = 'youname@example.com'; //recipient email
    $subject = 'Message from your website'; //subject of email
    $message = 'From: $name \n\nMessage:\n$message'; //message body

    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];


    //get file details we need
    $file_tmp_name    = $_FILES['my_file']['tmp_name'];
    $file_name        = $_FILES['my_file']['name'];
    $file_size        = $_FILES['my_file']['size'];
    $file_type        = $_FILES['my_file']['type'];
    $file_error       = $_FILES['my_file']['error'];

    $user_email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);

    if($file_error>0)
    {
        die('upload error');
    }
    //read from the uploaded file & base64_encode content for the mail
    $handle = fopen($file_tmp_name, "r");
    $content = fread($handle, $file_size);
    fclose($handle);
    $encoded_content = chunk_split(base64_encode($content));


        $boundary = md5("sanwebe"); 
        //header
        $headers = "MIME-Version: 1.0\r\n"; 
        $headers .= "From:".$from_email."\r\n"; 
        $headers .= "Reply-To: ".$user_email."" . "\r\n";
        $headers .= "Content-Type: multipart/mixed; boundary = $boundary\r\n\r\n"; 

        //plain text 
        $body = "--$boundary\r\n";
        $body .= "Content-Type: text/plain; charset=ISO-8859-1\r\n";
        $body .= "Content-Transfer-Encoding: base64\r\n\r\n"; 
        $body .= chunk_split(base64_encode($message)); 

        //attachment
        $body .= "--$boundary\r\n";
        $body .="Content-Type: $file_type; name=\"$file_name\"\r\n";
        $body .="Content-Disposition: attachment; filename=\"$file_name\"\r\n";
        $body .="Content-Transfer-Encoding: base64\r\n";
        $body .="X-Attachment-Id: ".rand(1000,99999)."\r\n\r\n"; 
        $body .= $encoded_content; 

    $sentMail = @mail($recipient_email, $subject, $body, $headers);
    if($sentMail) //output success or failure messages
    {       
        die("<h2>Thank You!</h2>
        <p>We will respond to you as soon as possible.</p>
        <p><a href='index.php' style='color:#ff0099;'>Click here to go back to our home page</a></p>");
    }else{
        die('Could not send mail! Please check your PHP mail configuration.');  
    }
}
?>

            </div>
        </div>

<?php 
include ($_SERVER['DOCUMENT_ROOT'].'/content_includes/html_bottom.php');
?>

1 个答案:

答案 0 :(得分:0)

这是因为所有代码路径都以die()结尾,这会停止执行脚本。也许您想使用echo代替die()