Wie formatieren Sie die Ausgabe von php-Formular, um html-E-Mails
Erstens: ich bin kein Programmierer - so versuche ich anzupassen, die Dinge, was, die ich brauche. Ich arbeite seit einigen Wochen auf einem html-Formular erzeugt einen eindeutigen code und E-Mails die Daten, die mich und die form Besitzerin.
Habe ich es geschafft, alle diese zu arbeiten, und bauen Sie es in meine Webseite.
Aber die Letzte Spur ist, die ich will-format der E-Mail in html und ich habe gesucht und gelesen und versucht, viele verschiedene Stücke von code für diese - einige sogar von hier aus, ohne Erfolg. Ich äther erhalten code, nichts oder alle Informationen, die in einem ununterbrochenen Satz.
Hier ist mein php. In der Nähe der Unterseite ist die info, die ich brauche in der mail an $email_message
Formular-code:
<div style="position:absolute;left:0px;top:546px;width:350px;height:84px;">
<style type="text/css">
.formtxt{color:white;}
</style>
<?php
$tokens = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$serial = '';
for ($i = 0; $i < 3; $i++) {
for ($j = 0; $j < 4; $j++) {
$serial .= $tokens[rand(0, 35)];
}
if ($i < 2) {
$serial .= '-';
}
}
?>
<form name="contactform" method="post" action="bridalcontact.php">
<table width="350px" align="center">
<tr>
<td valign="top">
<label for="first_name"> <span class="formtxt">First Name*</span></label>
</td>
<td valign="top">
<input type="text" name="first_name" maxlength="50" size="20">
</td>
</tr>
<tr>
<td valign="top"">
<label for="last_name"> <span class="formtxt">Last Name*</span></label>
</td>
<td valign="top">
<input type="text" name="last_name" maxlength="50" size="20">
</td>
</tr>
<tr>
<td valign="top">
<label for="email"> <span class="formtxt">Email*</span></label>
</td>
<td valign="top">
<input type="text" name="email" maxlength="80" size="20">
</td>
</tr>
<tr>
<td valign="top">
<label for="security"> <span class="formtxt">What colour is the sky *</span></label>
</td>
<td valign="middle">
<input type="text" name="security" maxlength="80" size="20">
</td>
</tr>
<tr>
<td valign="top">
<label for="telephone">Code</label>
</td>
<td valign="top">
<input type="disabled" name="code" size="20" value='<?php echo "$serial"?>'readonly>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center">
<input type="submit" value="Submit">
</td>
</tr>
</table>
</form>
</div>
Php-code:
<?php
if(isset($_POST['email'])) {
//EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "my email address here";
$email_subject = "Your AODJ voucher";
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['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['security'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
$first_name = $_POST['first_name']; //required
$last_name = $_POST['last_name']; //required
$email_from = $_POST['email']; //required
$security = $_POST['security']; //required
$code = $_POST['code']; //not required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[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 />';
}
$security_exp = "/blue/";
if(!preg_match($security_exp,$security)) {
$error_message .= 'Wrong solar system - sorry.<br />';
}
//$string_exp = "/^[A-Za-z .'-]+$/";
//if(!preg_match($security_exp,$security)) {
//$error_message .= 'Wrong solar system - sorry.<br />';
//}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= 'The Last Name you entered does 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 .= "First Name: ".clean_string($first_name)."\n";
$email_message .= "Last Name: ".clean_string($last_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "code: ".clean_string($code)."\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);
@mail($email_from, $email_subject, $email_message, $headers);
?>
<?php
if( !empty( $_POST ) ) {
header( "Location: bridaloptionsthanks.html" ) ; exit ;
}
}
?>
- html lernen. Anwendung von wissen.
- Wir alle haben irgendwo anfangen. Erstens, loszuwerden, das @ - Zeichen. Sie sind schlucken Fehler, müssen Sie möglicherweise sehen. Zweitens können Sie aufrufen, E-mail, sobald und BCC es zu sich selbst, wenn Sie möchten. Ich würde ändern, dass alle diejenigen, die
\n
zu\r\n
. Fügen Sie auch\r\n
nach dem <br> - tags und Graben der/
das ist in der <br>. Was willst du den HTML-Code Aussehen? Nur Zeilenumbrüche? Dies war das erste Ergebnis, wenn ich nach php senden, html-E-Mail: css-tricks.com/sending-nice-html-email-with-php - Du wirst nie irgendetwas geschickt, um die Ausgabe in HTML mit Ihren änderungen bis
$headers = "Content-type: text/html\r\n";
- Ich denke, im Grunde genommen nur eine Tabelle, ich kann format-hintergrund-Farbe und zieht in die Formular-Daten auf dieser Bühne. Wenn ich soweit komme kann ich spielen wie ich mit bekommen den rest.
- Sollten Sie Ihr Formular-code.
- "Sie sollten Ihr Formular-code." Gemacht Fred.:-)
- Check meine neue Antwort unten, arbeitete für mich ok. Lassen Sie mich wissen, wie es funktioniert für Sie heraus.
- Schauen Sie sich den link oben, dass
mkaatman
im Lieferumfang enthalten, wenn das ist, was Sie suchen, zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Getestet und funktioniert gut für mich. Geben Sie diesem einen Versuch.
[FORM]
[VERARBEITUNG]
[Danke]
Bereitstellung einer vollständigen code, den Sie zum senden Ihrer E-Mail als html-könnte eine lange Arbeit, je nachdem, was Sie wollen.
In deinem code, habe ich zu erwähnen, dass Sie haben vielleicht eine Frage der Sicherheit, da können Sie Ihren server zum senden von E-Mail aus einem Formular mit keine Validierung. In gewisser Weise, jemand könnte Ihr server zum versenden von spam durch automatisierte post von Ihrem Skript.
E-Mail konnte verschickt werden html nach mime-Formate, die können Recht Komplex zu implementieren, wenn Sie möchten, Unterstützung von multipart content (eine version in plain text und eine version in html). Glücklicherweise sind die meisten clients unterstützt html-heute.
Wenn Sie wollen zu senden, eine schöne html-Inhalt gut konzipiert und so müssen Sie lernen, html und css. Sie sollten sich bewusst sein, um E-mail-clients nicht unterstützt immer alle css-Attribute, die Entwicklung ein bisschen zu lang.
Um E-mail senden in HTML-Formatierung, müssen Sie die korrekten header-Informationen.
Ändern Sie diese Zeile:
dieser: (und hinzufügen eines Punktes verketten
$headers .=
)Nebenbei bemerkt: Nur die ersten header-Zeile nicht ein Punkt/verketten. Andere Header folgenden wird Sie es benötigen. Konsultieren Sie das Handbuch auf PHP.net
Dann fügen Sie Ihre HTML, wo Sie wollen.
Gemäß den Anweisungen des Handbuchs: