我正在尝试在提交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();
}
};
?>