Wenn ein Benutzer ihre E-Mail auf einem Formular auf meiner Website eingibt, erhalte ich eine E-Mail mit ihren Informationen. Ich möchte in der Lage sein, auf diese E-Mail zu antworten und ihre E-Mails in "An:" automatisch ausfüllen zu lassen, aber ich habe Probleme. Ich fand diese Frage und versuchte die Lösung: reply-to address in php contact form, aber es funktioniert nicht für mich, und ich bin mir nicht sicher warum.Antwort auf E-Mail in PHP Fehler
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$to = '[email protected]';
$headers = "BCC: [email protected]\r\n";
$headers .= 'Reply-To: ' . $email . "\r\n";
$subject = '*** Quote Request';
$name = $_POST['name'];
$phone = $_POST['phone'];
$date = $_POST['date'];
$time = $_POST['time'];
$pickup = $_POST['pickup'];
$dropoff = $_POST['dropoff'];
$passengers = $_POST['passengers'];
$service = $_POST['service'];
$email = $_POST['email'];
$message = <<<EMAIL
Quote submission from: $name
Name: $name
Phone Number: $phone
Date: $date
Time: $time
Pickup Location: $pickup
Drop Off Location: $dropoff
Total Passengers: $passengers
Service needed: $service
Email: $email
EMAIL;
if($_POST) {
mail($to, $subject, $message, $headers);
}
header('Location: thankyou.html');
exit();
?>
Und dies ist die Fehlermeldung summiert Ich erhalte bis:
Hier meine PHP ist
Undefined variable: E-Mail in /contact-form-handler.php auf Linie 9 Warnung: Kann nicht modify header information - headers already sent by (Ausgabe begann bei /contact-form-handler.php:9) in /contact-form-handler.php on line 44
Die pr oblem ist die Variable $email
, denn wenn ich ein Reply-To und eine E-Mail angeben, funktioniert es. Ich dachte, vielleicht lag es daran, dass die Variable definiert ist, nachdem ich sie in der Kopfzeile aufgerufen habe, aber es am unteren Rand nicht funktionierte. Ich bin ein Anfänger mit PHP, also bin ich nicht sicher, warum diese Variable nicht funktioniert.
ich auch versucht:
$headers = "BCC: [email protected]\r\n" .
'Reply-To: ' . $email . "\r\n" .
'X-Mailer: PHP/' . phpversion();
Jede Hilfe wäre dankbar!
Fügen Sie es in der unteren wo e? Im Allgemeinen können Sie eine Variable nicht verwenden, bevor Sie ihr einen Wert zuweisen. –
Mögliches Duplikat von [PHP: "Notice: Undefinierte Variable" und "Notice: Undefined Index"] (http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index) – chris85
Es wurde schon oft gesagt - benutze nicht die interne PHP 'mail' Funktion, da es nur ein Wrapper für MTAs wie sendmail ist, der viele Einschränkungen auferlegt und regelmäßig Probleme verursacht. Verwenden Sie stattdessen SMTP über bewährte Lösungen wie 'PHPMailer' (https://github.com/PHPMailer/PHPMailer) oder' SwiftMailer' (https://github.com/swiftmailer/swiftmailer). – brezanac