Ich muss ein Kontaktformular zu einer Website hinzufügen, die ich mache, und fand einen nützlichen Code, den jemand freundlicherweise für Leute wie mich geteilt hat, die keine PHP-Erfahrung haben.Zeilenumbrüche in einem PHP-Kontaktformular
Nachdem ich den Code in die Seite eingefügt und auf eine Staging-Site hochgeladen habe, habe ich ihn mit meiner Google Mail-Adresse getestet und es funktioniert einwandfrei. Das einzige Problem ist, dass der E-Mail-Text keine Zeilenumbrüche enthält.
Hier ist der Code:
<?php
if ($_POST["email"]<>'') {
$ToEmail = '[email protected]';
$EmailSubject = 'Site contact form';
$mailheader = "From: ".$_POST["email"]."\r\n";
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$MESSAGE_BODY = "Name: ".$_POST["name"]."";
$MESSAGE_BODY .= "Email: ".$_POST["email"]."";
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"])."";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
?>
Your message was sent
<?php
} else {
?>
<form action="contactus.php" method="post">
<table width="400" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="29%" class="bodytext">Your name:</td>
<td width="71%"><input name="name" type="text" id="name" size="32"></td>
</tr>
<tr>
<td class="bodytext">Email address:</td>
<td><input name="email" type="text" id="email" size="32"></td>
</tr>
<tr>
<td class="bodytext">Comment:</td>
<td><textarea name="comment" cols="45" rows="6" id="comment" class="bodytext"> </textarea></td>
</tr>
<tr>
<td class="bodytext"> </td>
<td align="left" valign="top"><input type="submit" name="Submit" value="Send"></td>
</tr>
</table>
</form>
<?php
};
?>
Dies ist, was ich erhalten, wenn es in meinem Posteingang eintrifft:
Name: Herr J BloggsEmail: [email protected]: Kommentare Text.
Was Ich mag würde, ist es stattdessen so aussehen zu:
Name: Herr J Bloggs
Email: [email protected]
Kommentar: Kommentare Text.
Vielen Dank im Voraus für jede Hilfe.
Vielen Dank für die Antwort, aber diese haben soeben einen Raum statt einer Pause gleiche ging \ r für das Hinzufügen \ n zu den Enden des Codes. Im Nachhinein sollten die Teile von "MESSAGE_BODY" mich dorthin geleitet haben, wo ich hinschauen musste. – number8pie
@ number8pie Wenn die E-Mail HTML ist, sollten Sie '
' hinzufügen, Ihre Mail looke wie Klartext zu mir –
Vielen Dank für das Aufräumen, wenn ich jemals E-Mails mit dem
Tag in ihnen bekomme ich stattdessen die \ n Methode verwenden . – number8pie