Ich habe mehrere Antworten und Fragen gelesen, aber ich kann immer noch nicht scheinen, meine Header() zu arbeiten. Dies ist nur ein einfaches Kontaktformular, und dies ist mein letzter Schritt, um Gäste auf eine Dankeseite zu senden. Was vermisse ich.Wie man PHP-Header richtig verwendet (Location:)
<?php
$fname = $lname = $cname = $email = $budget = $services = "";
$error_counter = 0;
$error_report = "";
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (empty($_POST['fname'])) {
$fname_error = 'Please provide your first name.';
$error_counter++;
} else {
$fname = test_input($_POST['fname']);
if (!preg_match("/^[a-zA-Z ]*$/",$fname)) {
$fnameErr = "Only letters and white space allowed";
$error_counter++;
}
}
if (empty($_POST['lname'])) {
$lname_error = 'Please provide your last name.';
$error_counter++;
} else {
$lname = test_input($_POST['lname']);
if (!preg_match("/[a-zA-Z \.]/",$lname)) {
$lnameErr = "Only letters and white space allowed";
$error_counter++;
}
}
if (empty($_POST['cname'])) {
$cname = '';
} else {
$cname = test_input($_POST['cname']);
if (!preg_match("/^[a-zA-Z0-9 \.]*$/",$cname)) {
$cnameErr = "Only letters and white space allowed";
$error_counter++;
}
}
if (empty($_POST['phone'])) {
$phone = '';
} else {
$phone = test_input($_POST['phone']);
if (!preg_match("/^[()\-0-9 \.]*$/",$phone)) {
$phoneErr = "Please use only the following: () - . 0-9.";
$error_counter++;
}
}
if (empty($_POST['email'])) {
$email_error = 'Please provide an email so that I can get back in touch with you.';
$error_counter++;
} else {
$email = test_input($_POST['email']);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { //validate email
$emailErr = "Invalid email format";
$error_counter++;
}
}
if (empty($_POST['budget'])) {
$budget_error = 'Please provide an estimated budget.';
$error_counter++;
} else {
$budget = test_input($_POST['budget']);
}
if (empty($_POST['textarea'])) {
$textarea = '';
} else {
$textarea = test_input($_POST['textarea']);
}
if (isset($_POST['new-website'])) {
$services = $services."New Website<br>";
}
if (isset($_POST['website-redesign'])) {
$services = $services."Website Re-design<br>";
}
if (isset($_POST['mobile-website'])) {
$services = $services."Mobile Website<br>";
}
if (isset($_POST['online-resume'])) {
$services = $services."Online Resume<br>";
}
if (isset($_POST['non-profit-website'])) {
$services = $services."Non-profit Website<br>";
}
if (isset($_POST['seo'])) {
$services = $services."SEO<br>";
}
if (isset($_POST['google-adwords'])) {
$services = $services."Google AdWords<br>";
}
if (isset($_POST['graphics-design'])) {
$services = $services."Graphics Design<br>";
}
if (isset($_POST['other'])) {
$services = $services."Other<br>";
}
$fname = test_input($_POST['fname']);
$lname = test_input($_POST['lname']);
$cname = test_input($_POST['cname']);
$phone = test_input($_POST['phone']);
$email = test_input($_POST['email']);
$budget = test_input($_POST['budget']);
$textarea = test_input($_POST['textarea']);
if ($error_counter == 0) {
$to = "[email protected]";
$subject = "Website Contact Peachwebdev";
$name_final = "Name: ".$fname." ".$lname."<br><br>";
$company_final = "Company: ".$cname."<br><br>";
$phone_final = "Phone Number: ".$phone."<br><br>";
$email_final = "Email: ".$email."<br><br>";
$budget_final = "Est. Budget: ".$budget."<br><br>";
$services_final = "Services: <br>".$services."<br><br>";
$textarea_final = "Comments: ".$textarea."<br><br>";
$message = $name_final.$company_final.$phone_final.$email_final.$budget_final.$services_final.$textarea_final;
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: '.$email;
mail($to,$subject,$message,$headers);
header("Location: http://www.peachwebdev.com/pages/thankyou.html");
exit;
} else {
echo '<script type="text/javascript"> alert(\'There were errors in your form. Please try again.\'); </script>';
$error_report = "<div class='alert alert-danger'>There were errors in your form, please correct and submit again.</div>";
}
}
function test_input($data) {
$data = htmlspecialchars($data);
$data = trim($data);
$data = stripslashes($data);
return $data;
}
?>
Und ich bin mir bewusst, dass mein Code wahrscheinlich besser gemacht kann, so, wenn es Vorschläge zur Vereinfachung oder Betauung sind, würde ich schätzen es gerne!
Haben Sie Ihre Fehlerprotokolle überprüft? –
Erhalten Sie einen Fehler? –
@JayBlanchard Ich erhalte diesen Fehler: Warnung: Header-Informationen können nicht geändert werden - Header bereits gesendet von (Ausgabe gestartet unter /home/sites/1b/a/a84868269e/public_html/pages/contact.php:25) in/home/sites/1b/a/a84868269e/public_html/pages/contact.php in Zeile 162. Aber es bedeutet, dass es den einen findet, den ich es will? Ich verstehe das nicht ganz. –