HTML Kontakt Formular

EaglePipe

Lt. Commander
Registriert
Juli 2008
Beiträge
1.173
Hallo Zusammen

ich möchte seit längerem meine Homepage neu aufbauen, es ist auch alles klar, ich programmiere über html, aber mit php habe ich so meine Schwierigkeiten kann mir bitte jemand helfen, ich möchte ein Kontakt Formular erstellen
 

Anhänge

Hast du auch eine Frage oder wolltest du uns nur dein Script präsentieren? :D


Die Endung der Datei sollte natürlich .php lauten.
 
das ist mir schon klar, wie binde ich das in html ein, da ich von php keine Ahnung habe
 
Den Code ab Zeile 3 dorthin kopieren, wo du das Formular haben willst.
Ich habe das nur ganz schnell überflogen, komisches Formular, so wie das aufgebaut ist. Gibt es überhaupt eine Spamsicherung?
 
das war nur ein Beispiel das ich das hinbekomme

könntest du mir das mal als datei zur Verfügung stellen?
 
Code:
<?php
echo '<?xml version="1.0" encoding="iso-8859-1"?>'
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" xml:lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Kontaktformular</title>
</head>
<body>
<div>
<form action="" method="post">
<p> Ihr Name:<input type="text" name="von"></p>
<p>Ihre Email-Adresse:(Für Antwort):<input type="text" name="email"></p>
<p>Betreff:<input type="text" name="betreff"></p>
<p>Ihre Nachricht:<textarea name="nachricht" cols="50" rows="10">
</textarea></p>
<p><input type="submit" value="Absenden" name="fertig"></p>
</form>

<?php
$von = $_POST['von']; 
$email = $_POST['email']; 
$betreff = $_POST['betreff']; 
$nachricht = $_POST['nachricht']; 
$fertig = $_POST['fertig']; 
function checkEmail( $email ) 
{ 
    $nonascii      = "\x80-\xff";     
    $nqtext        = "[^\\\\$nonascii\015\012\"]"; 
    $qchar         = "\\\\[^$nonascii]"; 
    $normuser      = '[a-zA-Z0-9][a-zA-Z0-9_.-]*'; 
    $quotedstring  = "\"(?:$nqtext|$qchar)+\""; 
    $user_part     = "(?:$normuser|$quotedstring)"; 
    $dom_mainpart  = '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.'; 
    $dom_subpart   = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*'; 
    $dom_tldpart   = '[a-zA-Z]{2,5}'; 
    $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart"; 
    $pattern       = "$user_part\@$domain_part"; 
     
    if (!preg_match( "/$pattern$/", $email )) 
    { 
        return FALSE; 
    } 
    else 
    { 
        return TRUE; 
    } 
} 

if(isset($fertig)){ 

  if ($von == "") { 
   echo"<script type=\"text/javascript\"> alert(\"Sie haben ihren Namen nicht angegeben!\");</script>"; 
  } elseif ($email == "") { 
    echo"<script type=\"text/javascript\"> alert(\"Sie haben ihre Email nicht angegeben!\");</script>"; 
  } elseif ($betreff == "") { 
    echo"<script type=\"text/javascript\"> alert(\"Sie haben keinen Betreff angegeben!\");</script>"; 
  } elseif ($nachricht == "") { 
    echo"<script type=\"text/javascript\"> alert(\"Sie haben keine Nachricht angegeben!\");</script>";     
  } elseif (!checkEmail( $_REQUEST['email'] )) { 
    echo"<script type=\"text/javascript\"> alert(\"Die Email Adresse ist nicht gueltig!\");</script>"; 
  } else { 
   
   


$datum = date("d.m.Y"); 
  $uhrzeit = date("H:i"); 
  $datum=$datum ."-". $uhrzeit ."Uhr"; 
   

     
    $ich = "HIER IHRE EMAIL EINTRAGEN"; 
  $betreffemail = "Kontaktformular"; 
  $text = "Sie haben eine Nachricht von:".$von." 
  Seine Email Adresse lautet:".$email." 
  Der Betreff lautet:".$betreff." 
  Das Sendedatum:".$datum." 
  Die Nachrich lautet:".$nachricht." 
   
   
   
  "; 
  mail($ich, $betreffemail, $text,  
  "From: Absender <Absenderemail>"); 
  echo"Mail verschickt <br>"; 
   
echo"<script type=\"text/javascript\"> alert(\"Die Nachricht wurde erfolgreich verschickt!\");</script>";         



} 
} 
?> 
</div>
</body>
</html>

Ungefähr so schaut das ganze aus. Ist jetzt nur auf die ganz Schnelle gemacht und auch ungetestet.

WICHTIG: Die Datei php abspeichern, zB: kontakt.php ....
 
wie pflege ich das ganze nun ein ?
 
<form action="" method="post">
<p> Ihr Name:<input type="text" name="von"></p>
<p>Ihre Email-Adresse:(Für Antwort):<input type="text" name="email"></p>
<p>Betreff:<input type="text" name="betreff"></p>
<p>Ihre Nachricht:<textarea name="nachricht" cols="50" rows="10">
</textarea></p>
<p><input type="submit" value="Absenden" name="fertig"></p>
</form>

<?php
$von = $_POST['von'];
$email = $_POST['email'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
$fertig = $_POST['fertig'];
function checkEmail( $email )
{
$nonascii = "\x80-\xff";
$nqtext = "[^\\\\$nonascii\015\012\"]";
$qchar = "\\\\[^$nonascii]";
$normuser = '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
$quotedstring = "\"(?:$nqtext|$qchar)+\"";
$user_part = "(?:$normuser|$quotedstring)";
$dom_mainpart = '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.';
$dom_subpart = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*';
$dom_tldpart = '[a-zA-Z]{2,5}';
$domain_part = "$dom_subpart$dom_mainpart$dom_tldpart";
$pattern = "$user_part\@$domain_part";

if (!preg_match( "/$pattern$/", $email ))
{
return FALSE;
}
else
{
return TRUE;
}
}

if(isset($fertig)){

if ($von == "") {
echo"<script type=\"text/javascript\"> alert(\"Sie haben ihren Namen nicht angegeben!\");</script>";
} elseif ($email == "") {
echo"<script type=\"text/javascript\"> alert(\"Sie haben ihre Email nicht angegeben!\");</script>";
} elseif ($betreff == "") {
echo"<script type=\"text/javascript\"> alert(\"Sie haben keinen Betreff angegeben!\");</script>";
} elseif ($nachricht == "") {
echo"<script type=\"text/javascript\"> alert(\"Sie haben keine Nachricht angegeben!\");</script>";
} elseif (!checkEmail( $_REQUEST['email'] )) {
echo"<script type=\"text/javascript\"> alert(\"Die Email Adresse ist nicht gueltig!\");</script>";
} else {




$datum = date("d.m.Y");
$uhrzeit = date("H:i");
$datum=$datum ."-". $uhrzeit ."Uhr";



$ich = "HIER IHRE EMAIL EINTRAGEN";
$betreffemail = "Kontaktformular";
$text = "Sie haben eine Nachricht von:".$von."
Seine Email Adresse lautet:".$email."
Der Betreff lautet:".$betreff."
Das Sendedatum:".$datum."
Die Nachrich lautet:".$nachricht."



";
mail($ich, $betreffemail, $text,
"From: Absender <Absenderemail>");
echo"Mail verschickt <br>";

echo"<script type=\"text/javascript\"> alert(\"Die Nachricht wurde erfolgreich verschickt!\");</script>";



}
}
?>


Ich habe dir vorher eine ganze Seite geschickt.
Habe den betreffenden Formularabschnitt herauskopiert. Diesen Abschnitt fügst du ein, wo du das Formular haben willst. Aber wie gesagt, ich würde auf alle Fälle etwas anderes nehmen.
 
irgendwie bekomme ich das nicht hin könntest du mir nicht ein beispiel zusammen bauen?
 
Servus Perny44;

Die Antwort Nr 6 ist eine komplotte Seite in ihren Grundelementen. Einfach diese Seite z.B. unter kontakt.php abspeichern und am localen Server (xampp) testen.
 
ich habe mal was zusammengestellt bitte mal prüfen
 

Anhänge

Testen kannst du doch selbst; wenn es Fehler gibt Bescheid sagen :)

Das E-Mail-Feld ist jedenfalls falsch. Dort hast du als name (was du ja dann mit $_POST prüfst) deine E-Mailadresse eingegeben. Dort muss natürlich name="email" stehen.


Was dann noch sinnvoll wäre - wenn eines der Felder falsch ist und man wieder zum Formular geleitet wird -, dass die Eingegebenen Werte erhalten bleiben. Sonst muss man, wenn bspw. nur die E-Mailadresse falsch war, auch alle anderen Felder wieder ausfüllen - vor allem bei der Nachricht kann das natürlich sehr viel Text sein.

Setze dazu bei den Eingabefeldern die per $_POST übergebenen Werte in value="" ein. Dann steht immer das drin, was abgeschickt wurde und man erspart sich die Neueingabe.
 
Zuletzt bearbeitet:
habe es abgeändert brachte aber keinen Erfolg
 
Kein Erfolg bedeutet?

Schau im Quelltext ob alles im Formular korrekt drinsteht; nicht, dass du noch die alte Seite im Cache hast.
 
ja das habe ich geprüft
Ergänzung ()

habe den cache sogar geleert
 
er versendet die mail nicht
Ergänzung ()

bitte mach mir mal bitte eine datei die auf jedenfall funktioniert

das wäre echt super
 
ich habe es gerade getestet

leider:mad:
 
Zurück
Oben