Hi Uschi,
im Grunde gibt es zwei Möglichkeiten so ein Formular zu gestalten.
Wenn die Formularseite eine php-Seite ist, muß sie zunächst an sichselbst zurückgegeben werden, um anschließend fehlermeldungen, ok und e-Mail generieren zu können.
Oder, Du schreibst eine normale HTML Seite, der ein Formular enthält mit allen Feldern die Du darin haben möchtest.
Klickt der User nun auf *Senden* wird der im Formular geschriebenen Inhalt ein PHP-Script übergeben, welches nicht nur die Mail generiert die dann zu Dir kommt, sondern auch kontrolieren kann ob alle Felder entsprechend ausgefüllt wurden.
Alle Formulare auf meine Webseite sind so aufgebaut.
Ein Beispiel:
>>HIER<<Versuche mal dieses Formular einfach so, oder nur teilweise ausgefüllt zu versenden... Du wirst sehen, es wird eine Fehlermeldung ausgegeben.
Diese Fehlermeldung kommt von diesem Script: www.trimmelterhof.de/scripts/forms/
jackform.phpDas gleiche Script gibt auch das ok, wenn alles richtig scheint, um es alsdann in e-Mail form an mich zu senden.
Die Quellcode der Formularseite kannst Du von der Webseite Kopieren und Deine Zwecke anpassen.
Die Quellcode des Scriptes solltest Du ebenfalls Deine bedürfnisse anpassen; Du findest sie hierunten, es ist weitestgehend mit Kommentare versehen (
rot) und (fast) Selbstklärend:
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Trimmelterhof-Team-Jacken</TITLE>
</HEAD>
<BODY CLASS="first">
<DIV ID="all">
<!--Seitenkopf-->
Bla Bla
<!--Ende Seitenkopf-->
<DIV ID="content">
<H2>Bestellformular</H2>
<p> </p>
<? /*<!--Das Formular wird gesendet an:-->*/
$webmaster = "conrad@trimmelterhof.de";
/*<!-- E-Mail-Adresse als Absender -->*/
$absender = "Teamjacken";
/* <!--IP bestimmen -->*/
$ip = getenv('REMOTE_ADDR');
/*<!-- IP aufloesen und Host bestimmen -->*/
$host = gethostbyaddr($ip);
/*<!-- Zeit bestimmen -->*/
$zeit = date("d.m.Y H:i:s");
/*<!--Formatierung der Mail-->*/
/*<!--Betreff-->*/ $betreffwebmaster = "Team-Jackenbestellung";
/*<!--Textkoerper-->*/ $koerperwebmaster = "
********** Formularangaben ****************
Anrede $Status
Name $nachname
Strasse $Strasse
Ort $PLZ $Ort
Telefon $Telefon
e-Mail $mail
von Seite: $subject
Konfektionsgroesse: $konfektion
Zahlung akzeptiert: $zahlung
Text:
$nachricht
*********** Ende Angaben ****************
";
/*<!--Formatierung der Copy-Mail-->*/
/*<!--Betreff-->*/ $betreffabsender = "Jackenbestellung";
/*<!--Textkoerper-->*/ $koerperabsender = "Sie haben folgende Nachricht versandt:\n $nachricht\n";
/* <!--Fehlermeldungen -->*/
$mailfalsch = "<H3 class='red'>Fehler!</H3><p>Ist diese E-Mail-Adresse wirklich richtig?</p><p>Bitte kontrollieren Sie noch einmal die Eingabe und senden Sie dann das Formular erneut ab.</P><center><FORM NAME='Zurück' ACTION='javascript:history.go(-1)'><INPUT TYPE='submit' VALUE='Zurück zum Formular'></FORM></center>";
/*<!-- Fehlermeldungen der Felder-->*/
$felderleer = "<H3 class='red'>Fehler!</H3><p>Ihre Bestellung konnte nicht versendett werden, da nicht alle erforderliche Adressfelder ausgefüllt wurden.</p><center><FORM NAME='Zurück' ACTION='javascript:history.go(-1)'><INPUT TYPE='submit' VALUE='Zurück zum Formular'></FORM></center>";
/*<!-- Fehlermeldungen der Checkboxen-->*/
$checkboxleer = "<H3 class='red'>Fehler!</H3><p>Ihre Bestellung konnte nicht versendet werden, da entweder die Konfektionsgröße nicht angegeben, und / oder die Checkbox der Zahlungsbedingungen nicht angekreuzt wurde(n).</p><center><FORM NAME='Zurück' ACTION='javascript:history.go(-1)'><INPUT TYPE='submit' VALUE='Zurück zum Formular'></FORM></center>";
/*<!--Erfolgsmeldung-->*/
$abgesandt = "<H3 class='grn'>Danke,</H3><H3>Ihre Bestellung wurde erfolgreich versendet.</H3>";
/*<!--Sind alle Felder ausgefuellt? -->*/
if ($nachname == "" || $Strasse == "" || $PLZ == "" || $Ort == "" || $Telefon == "" || $mail == "")
{
/*<!--nein-->*/
echo "$felderleer";
}
else
{
/*<!--Checkboxen ok?-->*/
if ($konfektion == "" || $zahlung == "")
{
/*<!--nein-->*/
echo "$checkboxleer";
}
else
{
/*<!--ja-->*/
/*Ist die E-Mail-Adresse richtig?-->*/
if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$", $mail))
{
/*<!--E-Mail-Adresse ist richtig-->*/
mail("$webmaster","$betreffwebmaster","$koerperwebmaster\n","FROM: $absender\n");
/*<!--Kopie an Absender?-->*/
if ($kopie == "ja")
{
mail("$mail","$betreffabsender","$koerperabsender","FROM: $absender\n");
echo "$abgesandt";
}
else
{
echo "$abgesandt";
}
}
else
{
/*<!--nein-->*/
echo "$mailfalsch";
}
}
}
?>
<P> </P>
<!--Seitenfuss-->
Bla Bla
<!--Ende Fuss-->
</BODY>
</HTML>
Einfach mal ausbropieren.
Viel Spaß!
cu
Conny