Hallo,
ich hab auf meiner Webseite ein Kontaktformular mit folgendem Code.
Leider funktioniert es nicht. Wenn ich es ausfülle und abschicke, wird
1. nicht der Text angezeigt der angegeben ist und
2. kommt bei mir keine Mail an mit den Daten.
Kann mir da vielleicht jemand helfen? Wär super, komm selber nicht mehr weiter.
Danke schon mal.
Schöne Grüße
ich hab auf meiner Webseite ein Kontaktformular mit folgendem Code.
Code:
<?php
// wenn das Formular übermittelt wurde
if(isset($_POST['abschicken'])){
while(list($feld,$wert)=each($_POST)){
// übermittelte Inhalte "entschärfen"
$wert=preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",$wert);
$$feld=$wert;
// die übermittelten Variablen werden zum "Text der Email" zusammengefasst
if($feld!="abschicken") $mailnachricht.=ucfirst($feld).": $wert\n";
}
$mailnachricht.="\nDatum/Zeit: ". date("d.m.Y H:i:s");
// Überprüfen ob alle Pflichtfelder gefüllt sind
empty($nachname) ? $err[] = "<p>- Bitte den Nachnamen angeben.</p>" : false;
empty($vorname) ? $err[] = "<p>- Bitte den Vornamen angeben.</p>" : false;
empty($email) ? $err[] = "<p>- Bitte die Email-Adresse angeben.</p>" : false;
empty($text) ? $err[] = "<p>- Welchen Wunsch haben Sie? Bitte den Text eingeben.</p>" : false;
// wenn nicht, werden die Fehlermeldungen ausgegeben und das "halbgefüllte" Formular angezeigt
if(!empty($err)) {
echo "<p>Bitte korrigieren Sie folgende Fehler:</p>";
foreach($err as $fehler){
echo $fehler;
}
?>
<div id='fg_membersite'>
<form id='kontakt' action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset >
<div class='container2'>
<label class='labelclass' for='lastname' >*Nachname:</label>
<input type="text" id="lastname" name="nachname" value="<?php echo $nachname; ?>" maxlength="70" />
</div>
<div class='container2'>
<label class='labelclass' for='firstname' >*Vorname:</label>
<input type="text" id="firstname" name="vorname" value="<?php echo $vorname; ?>" maxlength="70" />
</div>
<div class='container2'>
<label class='labelclass' for='company' >Firma:</label>
<input type="text" id="company" name="firma" value="<?php echo $firma; ?>" maxlength="70" />
</div>
<div class='container2'>
<label class='labelclass' for='address' >Postanschrift:</label>
<input type="text" id="address" name="strasse" value="<?php echo $strasse; ?>" maxlength="70" />
</div>
<div class='container2'>
<label class='labelclass' for='phone' >Telefon:</label>
<input type="text" id="phone" name="telefon" value="<?php echo $telefon; ?>" maxlength="70" />
</div>
<div class='container2'>
<label class='labelclass' for='email' >*E-Mail:</label>
<input type="text" id="email" name="email" value="<?php echo $email; ?>" maxlength="70" />
</div>
<div class='container2'>
<textarea cols="20" rows="2" style="width:476px" name="text"><?php echo $text; ?></textarea>
</div>
<div class='container3'>
<p class='pflichtfelder'>*Pflichtfelder</p>
</div>
<div class='short_explanation3'>
<input class="button" type="reset" value="Formular löschen" style="width:100%" />
</div>
<div class='short_explanation3'>
<input class="button" type="submit" name="abschicken" value="Formular absenden" style="width:100%" />
</div>
</fieldset>
</form>
</div>
<?php // sind keine Fehler vorhanden, wird die Email versendet
} else {
$mailbetreff="Kontaktformular ".$_SERVER['HTTP_HOST'];
// HIER DIE EMPFÄNGER EMAIL-ADRESSE ANPASSEN!!!
echo (mail("meine Email", $betreff, $nachricht, "From: ".$email."")) ? "<p>Vielen Dank für Ihre eMail!</p>": "<p>Ein Fehler ist aufgetreten!</p>";
}
// das Formular welches als erstes dem Besucher angezeigt wird
} else {
?>
<div id='fg_membersite'>
<form id='kontakt' action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset >
<div class='zeile'>
<div class='container2'>
<label class='labelclass' for='lastname' >*Nachname:</label>
<input type="text" id="lastname" name="nachname" value="" style="width:176px" />
</div>
<div class='container2'>
<label class='labelclass' for='firstname' >*Vorname:</label>
<input type="text" id="firstname" name="vorname" value="" style="width:176px" />
</div>
</div>
<div class='zeile'>
<div class='container2'>
<label class='labelclass' for='company' >Firma:</label>
<input type="text" id="company" name="firma" value="" style="width:176px" />
</div>
<div class='container2'>
<label class='labelclass' for='address' >Postanschrift:</label>
<input type="text" id="address" name="strasse" value="" style="width:176px" />
</div>
</div>
<div class='zeile'>
<div class='container2'>
<label class='labelclass' for='phone' >Telefon:</label>
<input type="text" id="phone" name="telefon" value="" style="width:176px" />
</div>
<div class='container2'>
<label class='labelclass' for='email' >*E-Mail:</label>
<input type="text" id="email" name="email" value="" style="width:176px" />
</div>
</div>
<div class='container4'>
<textarea cols="20" rows="2" style="width:393px" name="text"></textarea>
</div>
<div class='container3'>
<p class='pflichtfelder'>*Pflichtfelder</p>
</div>
<div class='short_explanation3'>
<input class="button" type="reset" value="Formular löschen" style="width:100%" />
</div>
<div class='short_explanation3'>
<input class="button" type="submit" name="abschicken" value="Formular absenden" style="width:100%" />
</div>
</fieldset>
</form>
</div>
<?php
}
?>
Leider funktioniert es nicht. Wenn ich es ausfülle und abschicke, wird
1. nicht der Text angezeigt der angegeben ist und
2. kommt bei mir keine Mail an mit den Daten.
Kann mir da vielleicht jemand helfen? Wär super, komm selber nicht mehr weiter.
Danke schon mal.
Schöne Grüße