Aktives Mitglied
Hey ihr Lieben,
ich glaube ihr könnt es bald nicht mehr lesen ,
aber auch ich habe Schwierigkeiten mit meinem Kontaktformular... :uhm:
Problem:
Wenn ein User vergisst ein oder mehrere Felder in meinem Formular auszufüllen, bekommt er zwar die Fehlermeldung,
Soll so gar nicht sein
Hier mein HTML-Code (PS. Ich weiß, dass ich nicht mit Tabellen arbeiten soll )
und hier mein Problemkind
Ps. Ich oute mich hiermit als PHP-Frischling und bitte darum, nicht mit Fachbegriffen erschlagen zu werden :rot:
DANKE SCHON MAL
ich glaube ihr könnt es bald nicht mehr lesen ,
aber auch ich habe Schwierigkeiten mit meinem Kontaktformular... :uhm:
Problem:
Wenn ein User vergisst ein oder mehrere Felder in meinem Formular auszufüllen, bekommt er zwar die Fehlermeldung,
mir wird die Mail dann aber trotzdem geschickt. :uhm:Ihre Nachricht wurde nicht gesendet, weil
- ... fehlt.
Soll so gar nicht sein
Hier mein HTML-Code (PS. Ich weiß, dass ich nicht mit Tabellen arbeiten soll )
HTML:
<div id="middle">
<h1>Kontaktformular:</h1>
<form name="kontaktformular" action="php/kontakt.php" method="post">
<table style="width:500px">
<tr><td colspan="2"></td></tr>
<tr>
<td style="width:150px"><strong>Name:</strong></td>
<td><input name="name" type="text" size="40" maxlength="100" /></td>
</tr>
<tr>
<td style="width:150px"><strong>E-Mail Adresse:</strong><br /></td>
<td><input name="mail" type="text" size="40" maxlength="100" /></td>
</tr>
<tr>
<td style="width:150px"><strong>Betreff:</strong></td>
<td><input name="betreff" type="text" size="40" maxlength="50" /></td>
</tr>
<tr>
<td style="width:150px"><strong>Nachricht:</strong></td>
<td><textarea name="text" cols="40" rows="10"></textarea></td>
</tr>
<tr>
<td style="width:150px"> </td>
<td> </td>
</tr>
<tr>
<td style="width:150px"> </td>
<td><input type="submit" value="Versenden" name="submit" />
</tr>
</table>
</form>
</div>
PHP:
<?php
$fehler =''; //Fehler, wenn nichts im Feld steht
$name = $_POST['name'];
$mail = $_POST['mail'];
$text = $_POST['text'];
$betreff = $_POST['betreff'];
// Kontrolle, ob alle Felder ausgefüllt sind
if(empty($name)) { //wenn $name fehlt, dann gib $fehler aus
$fehler .= '<li>der Absendername fehlt.</li>';
}
if(empty($mail)) {
$fehler .= '<li>die Mailadresse fehlt.</li>';
}
if(empty($text)) {
$fehler .= '<li>keine Nachricht eingetragen ist.</li>';
}
if(empty($betreff)) {
$fehler .= '<li>der Betreff fehlt</li>';
}
if ($fehler) {
echo '<p>Ihre Nachricht wurde nicht gesendet, weil</p>';
echo "<ul>" . $fehler . "</ul>";
}
else {
$return = chr(13).chr(10);
$nachricht = strip_tags($nachricht); // entfernt HTML-Tags
$nachricht = htmlentities($nachricht);// Sonderzeichen umwandeln
$nachricht = nl2br($nachricht); //setzt Zeilenumbrüche so, wie vom User eingegeben
echo "<p>Ihre Nachricht wurde versendet.</p>";
}
//Angaben für Mailausgabe
$return = chr(13) .chr(10);
$an = "xxx@xxx.de";
$betreff = "Mein Kontaktformular";
$von = "From: Kontaktformular <xxx@xxx.online.de>";
$datum = "Datum: ".date("j.n.Y") . $return;
$zeit = "Zeit: " .date ("H:i") . $return;
$abs = "Von: ".$name." <".$mail.">".$return;
$trennen = "--------------------------------------------------------------------".$return;
$nachricht = $datum.$zeit.$abs.$trennen.$text;
//Versendet Mail mit oben angegebenen Daten
mail ($an,$betreff,$nachricht,$von);
?>
Ps. Ich oute mich hiermit als PHP-Frischling und bitte darum, nicht mit Fachbegriffen erschlagen zu werden :rot:
DANKE SCHON MAL