Also ich bin ziemlich neu in PHP (arbeitete mit ihm ein wenig, aber nicht viel). Ich habe eine Formularvorlage, die an meine E-Mail gesendet wird. Die Sache ist, ich möchte eine der Antworten in meiner Betreffzeile haben. Beispiel: Sie wählen Bug, ich möchte, dass mein Thema "Site: Bug" oder "Site: Other" ist, je nachdem, was sie für das Thema im Formular auswählen.PHP: Form Submission asnwer als Teil des Betreffs
<?php
if(isset($_POST['email'])) {
$email_to = "[email protected]";
$email_subject = "Site: Submission";
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['name']) ||
!isset($_POST['email']) ||
!isset($_POST['subject']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
$name = $_POST['name']; // required
$email_from = $_POST['email']; // required
$subject = $_POST['subject']; // drop down menu
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$name)) {
$error_message .= 'The 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($name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Subject: ".clean_string($subject)."\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);
?>
Thank you for you submission.
<?php
}
die();
?>
Jede Hilfe wird geschätzt. Tut mir leid, wenn das eine einfache Frage ist, aber ich konnte keine Antwort mit Google finden.
Das !!!!! Danke, Bruder, es ist das If (Iset), das ich vermisste. Ich hatte den inneren Teil, aber es war nur für eine kurze Zeit eingefroren. Vielen Dank! – LiverpoolFTW