Mike: Kontaktform Probleme

Beitrag lesen

Hallo Leutchen,

ich hab ein Kontaktformualr was aus zwei bzw. drei (mit JS) Teilen besteht. Im ersten Teil (HTML) werden die Felder ausgefüllt.

Quelltext (HTML Date)i:

<form name="myform" action="clox_mailer.php" method="post" onSubmit="return Checkform()">
                <p class="text_mittel_blau">Vor- und Nachname: <br>
                  <input name="name" class="i1" type="text" id="name" size="80" maxlength="80">
                </p>
                <p> Strasse- und Hausnummer:<br>
                  <input name="strasse" class="i1" type="text" id="strasse" size="80" maxlength="80">
                </p>
                PLZ und Ort:<br>
                <input name="ort" class="i1" type="text" id="ort" size="80" maxlength="80">
                <p>Telefon-Nr. (Optional):<br>
                  <input name="telefon" class="i1" type="text" id="telefon" size="60" maxlength="60">
                  <font color="#ECF0F4"> _</font><span class="text_dunkel"> </span>
                </p>
                <p> eMail-Adresse:<br>
                  <input name="email" class="i1" type="text" id="email" size="60" maxlength="60">
                </p>
                <p>Nachricht:<br>
                  <textarea name="text" cols="78" rows="5" id="textarea"></textarea>
                </p>
                <p>
                  <input name="submit" type="submit" style="BACKGROUND-COLOR: #ECF0F4; color: #313842; border-bottom-color: #CCCCCC; border-top-color: #CCCCCC; border-left-color: #CCCCCC; border-right-color: #CCCCCC" value="Abschicken" >
                  <input name="Button" type="Button" style="BACKGROUND-COLOR: #ECF0F4; color: #313842; border-bottom-color: #CCCCCC; border-top-color: #CCCCCC; border-left-color: #CCCCCC; border-right-color: #CCCCCC" onClick="CheckReset(this.form)" value="Zur&uuml;cksetzen">
                </p>
                <p></p>
              </form>

Nach dem der Button Abschicken betätigt wird, wird das ganze per JS geprüft und dann später an die PHP Datei übergeben per POST.

Hier Quelltext JS:

function Checkform()
  {
     var check = true;
     if(document.myform.name.value == '')
     {
     check = false;
     alert ('Bitte geben Sie Ihren Namen ein !');
     }
     else if (document.myform.strasse.value == '')
     {
     check = false;
     alert ('Bitte geben Sie Ihre Strasse und Hausnummer ein !');
     }
     else if (document.myform.ort.value == '')
     {
     check = false;
     alert ('Bitte geben Sie Ihren Wohnort ein !');
     }
     else if (document.myform.email.value == '')
     {
     check = false;
     alert ('Bitte geben Sie Ihre E-Mail Adresse ein !');
     }
     else if (!TesteObEmail(form.email.value))
     {
     check = false;
     alert ('Die E-Mail Adresse ist nicht korrekt !');
     }
     return check;
  }

So hier nun der Quelltext der PHP Datei die die EMail gerneriert:

<?php
$MailTo="kontakt@adresse.de";

$inhalt = "Name:               $name\nStrasse:            $strasse\nOrt:                $ort\nTelefonNr.:         $telefon\nE-Mail:             $email\n\nNachricht:\n$text\n";

mail($MailTo, "Mehr Infos", $inhalt, "From: $email");

Autoresponder   #############################################################

$filename = "answer.txt";
       $fd = fopen( $filename, "r" );
       $contents = fread( $fd, filesize( $filename ) );
       fclose( $fd );
       mail( "$email", "Danke für Ihre eMail", "$contents\n\n",
             "From:kontakt@adresse.de\n" );

?>

Das Problem ist jetzt folgendes wenn die PHP Datei aufgerufen wird, wird ja immer eine EMail generiert, egal wer die Datei aufruft. Deswegen will ich den PHP Teil in eine IF Funktion setzen und nur wenn ein bestimmter Wert von der HTML Datei übergeben wurde soll die EMail generiert werden.

Dieser Wert soll praktisch dann mit übergeben werden wenn alle Felder bzw. die Pflichtfelder mit JS geprüft werden ordnungsgemäß ausgefüllt wurden.

Ich weiss man hätte das ganze auch komplett in PHP wesentlich einfacher gestalten können, doch dies ist nur ein Beispiel das richtige besteht aus vielen Abfragen mit Radiobuttons etc. Deswegen steht dieser Zeit/Nutzenwert in keinem Verhältnis.

Vielleicht kann mir jemand helfen, das wäre Klasse !!!

Danke

Mike