Guten Tag
Habe auf der Seite von www-coding.de ein php script für ein Formular mit capcha gefunden. Konnte auch schon ein paar Details an meine Bedürfnisse anpassen. Nun versuche ich schon seit Stunden zwei weitere Details zu lösen, leider ohne Erfolg. Ich wäre happy, wenn mir jemand helfen könnte.
Mein Problem:
1. Wie schaffe ich es, damit im Kopf des erzeugten Mails die E-Mail-Adresse" und der "Betreff" steht?
2. Wie erreicht man, dass nach dem Wort "Meldung:" ein Zeilenumbruch erzeugt wird?
Und noch etwas ist es möglich, dass im Text des Mails nach einer bestimmten Breite ein Zeilenumbruch erzeugt wird, keine Schlangensätze?
Nachfolgend der Code:
Besten Dank für eure Hilfe
Gruss Ebro
Habe auf der Seite von www-coding.de ein php script für ein Formular mit capcha gefunden. Konnte auch schon ein paar Details an meine Bedürfnisse anpassen. Nun versuche ich schon seit Stunden zwei weitere Details zu lösen, leider ohne Erfolg. Ich wäre happy, wenn mir jemand helfen könnte.
Mein Problem:
1. Wie schaffe ich es, damit im Kopf des erzeugten Mails die E-Mail-Adresse" und der "Betreff" steht?
2. Wie erreicht man, dass nach dem Wort "Meldung:" ein Zeilenumbruch erzeugt wird?
Und noch etwas ist es möglich, dass im Text des Mails nach einer bestimmten Breite ein Zeilenumbruch erzeugt wird, keine Schlangensätze?
Nachfolgend der Code:
PHP-Code:
<?php
/* DIESEN CODE AN OBERSTER STELLE BELASSEN */
header('Content-Type: text/html; charset=utf-8'); /* WENN DU KEIN UTF-8 NUTZT, KANNST DU (NUR) DIESE ZEILE LOESCHEN! */
session_start();
?>
<style type="text/css">
/* <![CDATA[ */
h1 {
font-family: Arial, Helvetica, Sans-Serif;
font-size: 12pt;
}
p {
font-family: Arial, Helvetica, Sans-Serif;
font-size: 9pt;
}
td {
font-family: Arial, Helvetica, Sans-Serif;
font-size: 10pt;
}
/* ]] */
</style>
<body background="Hintergrund.jpg"; no-repeat;>
<?php
$adminMail = 'DEINEMAIL@DEINSERVER.ENDUNG';
$formTitle = 'Kontaktformular Webmaster';
$msgInfo = 'Mit * gekennzeichnete Felder sind Pflichtfelder.';
$msgError = 'Es ist ein Fehler aufgetreten: Es wurden nicht alle Felder korrekt ausgefüllt.';
$msgSent = 'Deine Anfrage wurde erfolgreich verschickt.';
$captchaPath = 'captcha/captcha.php';
$fields = array (
// 'Feldname' => Typ, Pflichtfeld?, Ergänzungen (z.B. bei select-Feld)
'Vorname' => array('text', true),
'Nachname' => array('text', true),
'E-Mail-Adresse' => array('text', true),
'Betreff' => array('text', true),
'Mitteilung' => array('textarea', true),
);
/* Funktion um aus den Feldnamen eine URL-Form zu erstellen (AB HIER BITTE NUR NOCH EVENTUELLE TEXTE ANPASSEN) */
function field2url($fieldname) {
return "f_".preg_replace('/([^a-z0-9-_]+)/', '', strtolower($fieldname));
}
/* Ausgabe des Formulars */
if (isset($_POST['send']) && isset($_POST['captcha_code']) && isset($_POST['email'])) {
// 2. Eingaben pruefen //
$mailSubject = 'Nachricht Kontaktformular';
$mailText = "Nachricht vom Kontaktformular Webmaster.\r\n\r\n";
$mailHeader = "From: info@".$_SERVER['HTTP_HOST']."\r\n"."Content-type: text/plain; charset=utf-8"."\r\n";
// Einzelne Felder auslesen //
foreach ($fields AS $name => $settings) {
if ( !( !$settings[1] || ( $settings[1] && isset($_POST[field2url($name)]) && $_POST[field2url($name)] != '' ) ) ) {
// Pflichtfeld nicht ausgefüllt => Abbruch //
$sent = false;
break;
} else if ($_POST[field2url($name)] != '') {
// Inhalt (wenn nicht leer) in die E-Mail schreiben //
$mailText .= $name.": ".$_POST[field2url($name)]."\r\n";
}
}
// Kurzer Spam-Check inkl. Captcha-Check //
if ($_POST['captcha_code'] != $_SESSION['captcha_spam'] || $_POST['email'] != '') {
// Bot => Abbruch //
$sent = false;
}
if (!isset($sent)) {
// Nach erfolgreicher Ueberprüfung E-Mail verschicken //
mail($adminMail, $mailSubject, $mailText, $mailHeader);
echo "<h1>".$formTitle."</h1>" .
"<p>".$msgSent."</p>";
$sent = true;
}
} else
$sent = false;
if (!$sent) {
// 3. Formular ausgeben (Beginn des Formulars) //
echo "<h1>".$formTitle."</h1>" .
"<p>".$msgInfo."</p>" .
((isset($_POST['send'])) ? $msgError : '') .
"<form action=\"?".$_SERVER['QUERY_STRING']."\" method=\"POST\">" .
'<table>';
// Felder auslesen //
foreach ($fields AS $name => $settings) {
// Ausgabe je nach Typ //
switch ($settings[0]) {
case 'select':
// Select-Feld //
echo "<tr><td>".$name.":".(($settings[1]) ? ' (*)' : '')."</td><td><select name=\"".field2url($name)."\">";
// Select-Felder auslesen //
foreach ($settings[2] AS $f) {
echo "<option".((isset($_POST[field2url($name)]) && $_POST[field2url($name)] == $f) ? ' selected' : '').">".$f."</option>";
}
// Ende des Select-Feldes //
echo '</select></td></tr>';
break;
case 'text':
// Einfaches Text-Feld //
echo "<tr><td>".$name.":".(($settings[1]) ? ' (*)' : '')."</td><td><input type=\"text\" name=\"".field2url($name)."\" value=\"".((isset($_POST[field2url($name)])) ? htmlspecialchars($_POST[field2url($name)]) : '')."\" /></td></tr>";
break;
case 'textarea':
// Mehrzeiliges Textfeld //
echo "<tr><td>".$name.":".(($settings[1]) ? ' (*)' : '')."</td><td><textarea name=\"".field2url($name)."\"cols=30 rows=6>".((isset($_POST[field2url($name)])) ? htmlspecialchars($_POST[field2url($name)]) : '')."</textarea></td></tr>";
break;
}
}
// Formular-Ausgabe abschliessen und Captcha einbinden //
echo "<tr><td>Spam-Schutz: (*)</td><td><img src=\"".$captchaPath."\" alt=\"Captcha\" width=177 height=40 /><br /><input type=\"text\" name=\"captcha_code\" size=9 maxlength=5 /></td></tr>" .
'</table>' .
'<input type="text" name="email" style="display:none;" />' .
'<input type="hidden" name="send" value=1 />' .
'<input type="submit" value="Formular abschicken" />'.
'</form>';
}
?>
Gruss Ebro
Kommentar