Obstart - 多个标头导致提交问题

时间:2014-03-14 21:55:26

标签: php session curl

我正在尝试在提交CURL后实现重定向到感谢页面。但是,因为我在我的html中调用config.php文件,所以有一些验证调用,它会产生以下错误信息:

  

警告:无法修改标头信息 - 已发送的标头   (输出从/home/main/public_html/index.php:162开始)   第89行/home/main/public_html/config.php

HTML代码段:

    <?php include('config.php');?>

    <form class="form-contact" id="contactform" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="POST">

PHP代码:

    <?php

//Initialize the $query_string variable for later use
$query_string = "";

$error = "";


if(isset($_POST['submit'])){

    if ($_POST['first_name'] == "") {
        $error .= "Please enter in your first name.<br>";
    } elseif (!preg_match("/^[a-zA-Z ]*$/",$_POST['first_name'])) {
                $error .= "Please enter in a valid first 

name.<br>";
        }

    if($_POST['last_name'] == ""){
        $error .= "Please enter in your last name.<br>";
      } elseif (!preg_match("/^[a-zA-Z ]*$/",$_POST['last_name'])){
                $error .= "Please enter in a valid last name.<br>";
        }

    if($_POST['email'] == ""){
        $error .= "Please enter in your email address.<br>";
    } elseif (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$_POST['email'])){
            $error .= "Please enter in a valid email address.<br>";
        }

    if($_POST['company'] == ""){
        $error .= "Please enter in your company name.<br>";
        } elseif (!preg_match("/^[a-zA-Z ]*$/", $_POST['first_name'])) {
                $error .= "Please enter in a valid company 

name.<br>";
            }


    if(isset($error) && trim($error) != ""){
        //echo $error;
    }else{
            if ($_POST) {

            //Initialize the $kv array for later use
            $kv = array();

            //For each POST variable as $name_of_input_field => 

$value_of_input_field
            foreach ($_POST as $key => $value) {

            //Set array element for each POST variable (ie. 

first_name=Arsham)
            $kv[] = stripslashes($key)."=".stripslashes($value);


            }


            //Create a query string with join function separted by &
            $query_string = join("&", $kv);
            }
            //Check to see if cURL is installed .
            if (!function_exists('curl_init')){
            die('Sorry cURL is not installed!');
            }

            //The original form action URL from Step 2 :)
            $url = 

'https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8';

            //Open cURL connection
            $ch = curl_init();


            //Set the url, number of POST vars, POST data
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_POST, count($kv));
            curl_setopt($ch, CURLOPT_POSTFIELDS, $query_string);

            //Set some settings that make it all work :)
            curl_setopt($ch, CURLOPT_HEADER, FALSE);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, FALSE);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

            //Execute SalesForce web to lead PHP cURL
            $result = curl_exec($ch);

            //close cURL connection
            curl_close($ch);

ob_start();

//script

header("Location:thanks.php");

ob_end_flush();


    }

};




?>

0 个答案:

没有答案