30.05.2015, 10:23
Sorry, PHP Inhalt vergessen:
<?php header('Content-Type: text/html; charset=utf-8'); /* AN OBERSTER STELLE BELASSEN, WENN DU KEIN UTF-8 NUTZT, LÖSCHEN! */ ?>
<!-- Hier kann der Inhalt deiner Seite vor das Kontaktformular platziert werden -->
<?php
/* http://www-coding.de/individuelles-konta...ha-in-php/ (MEHR INFORMATIONEN UND ANLEITUNG)
*
* [VERSION OHNE CAPTCHA]
*
* Dieser 1. Teil kann angepasst werden, um die Formularfelder zu beeinflussen ($fields)
* Außerdem solltest Du in $adminMail deine E-Mail-Adresse speichern
* $formTitle beinhaltet die Überschrift des Formulars
* In $msgInfo ist der Hinweistext gespeichert, der angezeigt werden soll
* $msgError wird angezeigt, wenn nicht alle Pflichtfelder ausgefüllt wurden
* $msgSent hingegen beinhaltet eine Erfolgsmeldung, wenn die Anfrage verschickt wurde
*/
$adminMail = 'markus@xyz.de';
$formTitle = '';
$msgInfo = '';
$msgError = 'Sorry, something went wrong. Please try again!';
$msgSent = 'Message successfully send!';
$fields = array (
// 'Feldname' => Typ, Pflichtfeld?, Ergänzungen (z.B. bei select-Feld)
'Name' => array('text', true),
'E-Mail' => array('text', true),
'About' => array('text', false),
'Message' => 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'])) {
// 2. Eingaben prüfen //
$mailSubject = 'Nachricht über das Kontaktformular';
$mailText = "Das Kontaktformular deiner Website wurde dazu verwendet, Dir diese Nachricht zukommen zulassen.\r\n\r\n";
$mailHeader = "From: kontaktformular@".$_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 //
if (isset($_POST['email']) && $_POST['email'] != '') {
// Bot => Abbruch //
$sent = false;
}
if (!isset($sent)) {
// Nach erfolgreicher Überprü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)."\">".((isset($_POST[field2url($name)])) ? htmlspecialchars($_POST[field2url($name)]) : '')."</textarea></td></tr>";
break;
case 'checkbox':
// Checkbox //
echo "<tr><td>".$name.":".(($settings[1]) ? ' (*)' : '')."</td><td><label><input type=\"checkbox\" name=\"".field2url($name)."\" value=\"gesetzt\" ".((isset($_POST[field2url($name)]) || $setttings[1]) ? 'checked ' : '')."/> ".((isset($settings[2])) ? $settings[2] : '')."</td></label></tr>";
break;
}
}
// Formular-Ausgabe abschließen //
echo '</table>' .
'<input type="text" name="email" style="display:none;" />' .
'<input type="hidden" name="send" value=1 />' .
'<input type="submit" value="Send" />'.
'</form>';
}
?>
<!-- Hier kann der Inhalt deiner Seite hinter das Kontaktformular platziert werden -->
<?php header('Content-Type: text/html; charset=utf-8'); /* AN OBERSTER STELLE BELASSEN, WENN DU KEIN UTF-8 NUTZT, LÖSCHEN! */ ?>
<!-- Hier kann der Inhalt deiner Seite vor das Kontaktformular platziert werden -->
<?php
/* http://www-coding.de/individuelles-konta...ha-in-php/ (MEHR INFORMATIONEN UND ANLEITUNG)
*
* [VERSION OHNE CAPTCHA]
*
* Dieser 1. Teil kann angepasst werden, um die Formularfelder zu beeinflussen ($fields)
* Außerdem solltest Du in $adminMail deine E-Mail-Adresse speichern
* $formTitle beinhaltet die Überschrift des Formulars
* In $msgInfo ist der Hinweistext gespeichert, der angezeigt werden soll
* $msgError wird angezeigt, wenn nicht alle Pflichtfelder ausgefüllt wurden
* $msgSent hingegen beinhaltet eine Erfolgsmeldung, wenn die Anfrage verschickt wurde
*/
$adminMail = 'markus@xyz.de';
$formTitle = '';
$msgInfo = '';
$msgError = 'Sorry, something went wrong. Please try again!';
$msgSent = 'Message successfully send!';
$fields = array (
// 'Feldname' => Typ, Pflichtfeld?, Ergänzungen (z.B. bei select-Feld)
'Name' => array('text', true),
'E-Mail' => array('text', true),
'About' => array('text', false),
'Message' => 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'])) {
// 2. Eingaben prüfen //
$mailSubject = 'Nachricht über das Kontaktformular';
$mailText = "Das Kontaktformular deiner Website wurde dazu verwendet, Dir diese Nachricht zukommen zulassen.\r\n\r\n";
$mailHeader = "From: kontaktformular@".$_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 //
if (isset($_POST['email']) && $_POST['email'] != '') {
// Bot => Abbruch //
$sent = false;
}
if (!isset($sent)) {
// Nach erfolgreicher Überprü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)."\">".((isset($_POST[field2url($name)])) ? htmlspecialchars($_POST[field2url($name)]) : '')."</textarea></td></tr>";
break;
case 'checkbox':
// Checkbox //
echo "<tr><td>".$name.":".(($settings[1]) ? ' (*)' : '')."</td><td><label><input type=\"checkbox\" name=\"".field2url($name)."\" value=\"gesetzt\" ".((isset($_POST[field2url($name)]) || $setttings[1]) ? 'checked ' : '')."/> ".((isset($settings[2])) ? $settings[2] : '')."</td></label></tr>";
break;
}
}
// Formular-Ausgabe abschließen //
echo '</table>' .
'<input type="text" name="email" style="display:none;" />' .
'<input type="hidden" name="send" value=1 />' .
'<input type="submit" value="Send" />'.
'</form>';
}
?>
<!-- Hier kann der Inhalt deiner Seite hinter das Kontaktformular platziert werden -->