PHP表单没有重定向Header- Won重定向

时间:2017-05-09 17:21:06

标签: php

使用此表单模板创建表单,并取出一些字段,因为它们并非都是必需的。

http://www.freecontactform.com/html_form.php

但是,我的header命令没有重定向我的页面。这是代码。请注意,我已经尝试过最后一次退出。

问题不在于它不会发送电子邮件,但不会重定向。

    <?php
        if(isset($_POST['email'])) {

        // CHANGE THE TWO LINES BELOW
        $email_to = "emailt@yahoo.com";

        $email_subject = "Email from email.com";


    function died($error) {
        // your error code can go here
        echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo "These errors appear below.<br /><br />";
        echo $error."<br /><br />";
        echo "Please go back and fix these errors.<br /><br />";
        die();
    }

    // validation expected data exists
    if(!isset($_POST['first_name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['comments'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');       
    }

    $first_name = $_POST['first_name']; // required
    $email_from = $_POST['email']; // required
    $comments = $_POST['comments']; // required

    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
        if(!preg_match($email_exp,$email_from)) {
        $error_comments .= 'The Email Address you entered does not appear to be valid.<br />';
  }
          $string_exp = "/^[A-Za-z .'-]+$/";
          if(!preg_match($string_exp,$first_name)) {
          $error_message .= 'The First Name you entered does not appear to be valid.<br />';
   }
      if(strlen($comments) < 2) {
        $error_message .= 'The Comments you entered do not appear to be valid.<br />';
  }
       if(strlen($error_message) > 0) {
        died($error_message);
  }
        $email_message = "Form details below.\n\n";

       function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }

    $email_message .= "Name: ".clean_string($first_name)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";
    $email_message .= "Comments: ".clean_string($comments)."\n";


// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  

header("Location: http://www.website.com/contactSoon.html");
}

?>

以下是我使用

的联系表格
<form name="htmlform" method="post" action="html_form_send.php">
                        <div class="row form-group">
                                <div class="col-md-12">
                                <label for="first_name">Name *</label>
                                <input  type="text" name="first_name" class="form-control">
                                </div>
                                </div>
                        <div class="row form-group">
                                <div class="col-md-12">
                                <label for="comments">Email Address *</label>
                                <input type="text" id="email" class="form-control">
                                </div>
                        </div>
                        <div class="row form-group">
                                <div class="col-md-12">
                        <label for="message">Message *</label>
                        <textarea name="message" id="message" cols="30" rows="10" class="form-control"></textarea>
                                </div>
                            </div>
                            <div class="g-recaptcha" data-sitekey="6LfmXB4UAAAAAHxguDJIQXClAG_8rGe6qnK1SldM"></div>
                            <div class="form-group">
                                <input type="submit" name="submit" id="submit" value="Send Message" class="btn btn-primary">
                            </div>

                        </form> 

1 个答案:

答案 0 :(得分:0)

更改为

  <?php
//memory increase max 
ini_set('memory_limit', '-1');
if(isset($_POST['email'])) {

            // CHANGE THE TWO LINES BELOW
            $email_to = "emailt@yahoo.com";

            $email_subject = "Email from email.com";


        function died($error) {
            // your error code can go here
            echo "We are very sorry, but there were error(s) found with the form you submitted. ";
            echo "These errors appear below.<br /><br />";
            echo $error."<br /><br />";
            echo "Please go back and fix these errors.<br /><br />";
            die();
        }

        // validation expected data exists
        if(!isset($_POST['first_name']) ||
            !isset($_POST['email']) ||
            !isset($_POST['comments'])) {
            died('We are sorry, but there appears to be a problem with the form you submitted.');       
        }

        $first_name = $_POST['first_name']; // required
        $email_from = $_POST['email']; // required
        $comments = $_POST['comments']; // required

        $error_message = "";
        $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
            if(!preg_match($email_exp,$email_from)) {
            $error_comments .= 'The Email Address you entered does not appear to be valid.<br />';
      }
              $string_exp = "/^[A-Za-z .'-]+$/";
              if(!preg_match($string_exp,$first_name)) {
              $error_message .= 'The First Name you entered does not appear to be valid.<br />';
       }
          if(strlen($comments) < 2) {
            $error_message .= 'The Comments you entered do not appear to be valid.<br />';
      }
           if(strlen($error_message) > 0) {
            died($error_message);
      }
            $email_message = "Form details below.\n\n";

           function clean_string($string) {
          $bad = array("content-type","bcc:","to:","cc:","href");
          return str_replace($bad,"",$string);
        }

        $email_message .= "Name: ".clean_string($first_name)."\n";
        $email_message .= "Email: ".clean_string($email_from)."\n";
        $email_message .= "Comments: ".clean_string($comments)."\n";


    // create email headers
    $headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
    @mail($email_to, $email_subject, $email_message, $headers);  
    echo '<script>window.location.href = "http://www.website.com/contactSoon.html";</script>';
    //header("Location: http://www.website.com/contactSoon.html");
    }

    ?>

因此,它将使用php的pavascript重定向

相关问题