Zitat:
Zitat von Irolight
Kleine Klugscheißer anmerken am späten Abend:
Was aber auch nur Funktioniert weil action am ende leer ist  . Heißt du kannst auch
Code:
action="<?php echo $_SERVER["PHP_SELF"];?>"
einsetzten wenn man was eintragen will.
|
Tzz zu viel Kluggeschissen
Ist ja egal, wie man es machen will, ich würde das Dokuent selbst anders machen, deshalb mal hier meine Version
Da ich nicht genau weiß welche Felder du brauchst und warum er das an den User senden soll, der sich einträgt ... egal, der Kunde ist König ...
Außerdem gehe ich mal von diesem Kontaktformular aus ::
http://bazzcatcherz.space4you.eu/for...takt/form.html
So und hier meine Version, bei Fragen, ich beiße nicht :P:P
Ach ja und bedanken tut auch nicht weh
PHP-Code:
<?php
/* Prüfen ob das Formular abgesendet wurde */
if (isset($_POST['submit']) and $_POST['submit'] == 'Absenden') {
/* wenn das Formular abgesendet wurde, überprüfen, ob alle felder exestieren */
$errors = array();
if (!isset($_POST['Name'], $_POST['Mail'], $_POST['Betreff'], $_POST['Text'])) {
$errors[] = "Das Formular wurde manipluiert, bitte wenden Sie sich an den Webmaster.";
} else {
/* wenn alle Felder da sind, überprüfen, ob der User in dein formular kein kak reinschreibt */
if (trim($_POST['Name']) == '')
$errors[] = "Bitte geben Sie einen gültigen Namen ein.";
elseif (strlen(trim($_POST['Name'])) < 3)
$errors[] = "Ihr Name muss mindestens 3 Zeichen lang sein.";
elseif (trim($_POST['Mail']) == '')
$errors[] = "Bitte geben Sie Ihre E-Mailadresse ein.";
elseif (!preg_match('§^[\w\.-]+@[\w\.-]+\.[\w]{2,4}$§', trim($_POST['Mail'])))
$errors[] = "Ihre E-Mailadresse hat eine falsche Syntax.";
elseif (trim($_POST['Betreff']) == '')
$errors[] = "Bitte geben Sie einen Betreff ein.";
elseif (trim($_POST['Text']) == '')
$errors[] = "Bitte geben Sie eine Nachricht ein.";
/* wenn irgendwo ein fehler gefunden wurde, wird dieser ausgegeben */
if (count($errors)) {
echo "Das Formular konnte nicht abgesendet werden.<br><br>" . "<br>";
foreach ($errors as $error)
echo $error . "<br>";
} else {
/* ansonsten das formular gesendet, natürlich mit htmlentities, stripcslashes, Uhrzeit &' Datum und der IP */
$empfaenger = htmlentities($_POST['Mail']);
$titel = htmlentities($_POST['Betreff']);
$mailbody = 'Guten Tag ' . htmlentities($_POST['Name']) . '<br><br>' .
'Sie haben sich gerade eben an unser Formular gewand.<br><br>' .
'Dabei haben Sie folgende Nachricht hinterlassen:<br><br>---<br>' . '' .
htmlentities(stripcslashes($_POST['Text'])) . '' .
'<br>---<br><br>Diese Nachricht wurde am ' . date('d.m.Y \- H:i \U\h\r', time()) .
' von der IP-Adresse "' . $HTTP_SERVER_VARS['REMOTE_ADDR'] . ' gesendet.';
$header = 'From: [email protected]';
if (@mail($empfaenger, $titel, $mailbody, $header)) {
echo 'Das Formular wurde erfolgreich gesendet.';
} else {
echo 'Beim Senden ist ein Fehler aufgetreten, bitte wenden Sie sich an den Webmaster';
}
}
}
} else {
/* wenn das FFormaular nicht gesendet wurde, das formulareingabefeld anzeigen */
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="de" http-equiv="Content-Language" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Kontakt</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<h1>Kontakt</h1>
<table style="width: 25%">
<tr>
<td style="width: 550px">Name :</td>
<td>
<input name="Name" style="width: 200px" type="text" /></td>
</tr>
<tr>
<td style="width: 550px">E-Mailadresse : </td>
<td>
<input name="Mail" style="width: 200px" type="text" /></td>
</tr>
<tr>
<td style="width: 550px">Betreff :</td>
<td>
<input name="Betreff" style="width: 200px" type="text" /></td>
</tr>
<tr>
<td style="width: 550px">Text :</td>
<td>
<textarea name="Text" rows="2" style="width: 200px"></textarea></td>
</tr>
<tr>
<td style="width: 550px"></td>
<td><input type="submit" value="Absenden" name="submit" class="button_text" id="saveForm" /></td>
</tr>
</table>
</form>
</body>
</html>
<?php
}
?>