PHP Fehler in Kontaktformular

Amy

Stammgast
Guten Abend Leute
ich habe wieder einmal ein Problem mit einem php-Code. Beim Versenden des Formulars erhalte ich folgende Fehlermeldung:
Fatal error: Call to undefined function check_field() in /home/httpd/vhosts/dorfverein-habstetten.ch/httpdocs/php/kontakt.php on line 14. (Line 14 ist die Linie mit K_Name).

Obschon ich den Code aus einem bestehenden Formular kopiert habe (welches übrigens einwandfrei funktioniert), muss sich irgendwo ein Fehler befinden, welchen ich beim besten Willen nicht finden kann. Ich hoffe sehr, dass mir jemand helfen kann.

Hier poste ich Euch meinen php und html-code:

PHP:
$MAIL_AN="rugla@supralux.ch";
//$MAIL_AN="rugla@supralux.ch";
$MAIL_BETREFF="Kontaktformular Dorfverein Habstetten";
$WEITERLEITUNG="http://www.dorfverein-habstetten.ch/danke.html";

$DBEUG=false;
$_POST['K_Name'];
  $err+= check_field($_POST['K_Name'], "Name");
  $err+= check_field($_POST['K_Vorname'], "Vorname");
  $err+= check_field($_POST['K_Email'], "E-Mail");
  $err+= check_field($_POST['K_Adresse'], "Adresse");
  $err+= check_field($_POST['K_Ort'], "PLZ Ort");
  $err+= check_field($_POST['K_Telefon'], "Telefon");
  $err+= validateEmail($_POST['K_Email']);
  $err+= check_field($_POST['K_Betreff'], "Betreff");
  $err+= check_field($_POST['K_Text'], "Text");

  if($err>0){
    echo "Es traten $err Fehler auf. Bitte korrigieren Sie diese indem Sie zum Formular zurückkehren und die Daten vervollstängigen.";
    exit;
  
  } 
  

  $out.= "Name: ".$_POST['K_Name']."<br/>";
  $out.= "Vorname: ". $_POST['K_Vorname']."<br/>";
  $out.= "Adresse: ". $_POST['K_Adresse']."<br/>";
  $out.= "PLZ_Ortschaft: ". $_POST['K_Ort']."<br/>";
  $out.= "Telefon: ". $_POST['K_Telefon']."<br/>";
  $out.= "E-Mail: ". $_POST['K_Email']."<br/>";
  $out.= "<b>Betreff: ". $_POST['K_Betreff']."</b><br/>";
  $out.= "Text:<br/><hr><br/>". $_POST['K_Text']."<br/><hr><br/>";
  if($_POST['K_Kontakt']=="on"){
    $out.= "Wünscht Kontaktaufnahme <br/>";
  }
  if($_POST['K_Unterlagen']=="on"){
    $out.= "Wünscht Unterlagen <br/>";
  

if($DBEUG){
  echo "DEBUG:". $out;
}



$headers = "From: ".$_POST['K_Email']." \r\n"; 
$headers.= "Content-Type: text/html; charset=iso-8859-1"; 
$headers .= "MIME-Version: 1.0 "; 

if(mail($MAIL_AN,$MAIL_BETREFF." | ".$_POST['K_Betreff'],$out,$headers)){

header("Location: $WEITERLEITUNG"); 


}


function check_field($Feldname, $Anzeigename){
  global $DEBUG;
  if($DEBUG){ echo "<br><br>checke feld :$Anzeigename mit Wert $Feldname <br>";}
  if($Feldname == ""){
    echo "Feld $Anzeigename muss ausgefüllt sein!<br><br>";
    return 1;
  }
return 0;
}

function validateEmail($Email) {
      global $HTTP_HOST;

      if (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $Email)) {
              echo "E-Mail ungültig!<br/>";
        return 1;
      }
    }
error_reporting(E_ALL & ~E_DEPRECATED);}


?>


HTML:
<form id="kontaktformular" name="kontaktformular" action="php/kontakt.php"  method="post">
  <table width="507">
    <tr>
      <th width="251">Name:*</th>
      <td width="244"><input type="text" name="K_Name" id="name" size="30" maxlength="100"  /></td>
    </tr>
    <tr>
      <th>Vorname:*</th>
      <td><input type="text" name="K_Vorname" id="vorname" size="30" maxlength="100" /></td>
    </tr>
    <tr>
      <th>Strasse:*</th>
      <td><input type="text" name="K_Adresse" id="strasse" size="30" maxlength="100" /></td>
    </tr>
    <tr>
      <th>PLZ und Ort:*</th>
      <td><input type="text" name="K_Ort" id="plz_ort" size="30" maxlength="100" /></td>
    </tr>
    <tr>
      <th>Telefon:*</th>
      <td><input type="text" name="K_Telefon" id="telefon" size="30" maxlength="100" /></td>
    </tr>
    <tr>
      <th>E-Mail:*</th>
      <td><input type="text" name="K_Email" id="email" size="30" maxlength="100" /></td>
    </tr>
    <tr>
      <th>Betreff:*</th>
      <td><input type="text" name="K_Betreff" id="betreff" size="30" maxlength="100"/></td>
    </tr>
    <tr>
      <th>Nehmen Sie Kontakt mit mir auf:</th>
      <td><input type="checkbox" name="K_Kontakt"/></td>
    </tr>
    <tr>
      <th>Mitglied werden:</th>
      <td><input name="K_Unterlagen" type="checkbox" checked="checked"/></td>
    </tr>
    <tr>
      <th>Ihre Nachricht:*</th>
      <td><textarea name="K_Text" id="textarea" cols="28" rows="5"></textarea></td>
    </tr>
    <tr>
      <th><input name="submit" type="submit" value="Senden" id="senden" /></th>
    </tr>
  </table>
  <div>
  <p>Felder mit einem <span class="pflichtfeld">*</span> müssen ausgefüllt werden</p>
</div>
</form>

Herzlichen Dank für Eure Hilfe
 

sergey

Stammgast
Salut

Eine ungereimtheit die ich beim schnellen durchsehen gefunden habe: Einmal schreibst du die Variable $DBEUG, und einmal $DEBUG. Aber ich denke nicht das dies der Ausschlaggebende Punkt ist.

Frage mich gerade für was die Variable $_POST ['K_NAME']; vor den Error's steht.

Gruss

sergey
 

Dragonlord

PCtipp-Moderation
Teammitglied
Fehler

Das gleiche ist mir auch aufgefallen beim durchlesen des Codes.

Warten wir mal auf weitere Angaben des Thread-Erstellers.

lg Roger
 

Amy

Stammgast
ich habe die Variable $DBEUG geändert, aber das hat nichts gebracht.

Warum die Variabel$_POST ['K_NAME']; vor den Error's steht, kann ich nicht beantworten, da ich das Script aus einem bestehenden Formular kopiert habe, wo es übrigens so einwandfrei funktioniert.
 

sergey

Stammgast
Okay, diese Antwort lässt für mich nur einen Schluss zu: Du hast keine Ahnung von PHP. Aber: Weil ich so nett bin, werd ich mir dein Problem heute Abend mal genauer ansehen.

Gruss

sergey
 

Amy

Stammgast
Du hast richtig geraten, ich habe keine Ahnung von PHP, bin aber daran es zu lernen. Ich bin Dir sehr dankbar, dass Du Dir heute Abend Zeit nimmst um mir zu helfen.
 

sergey

Stammgast
Also. Nachdem ich das Script mal kopiert und bei mir eingefügt habe, stellte sich mir zuerste eine zentrale Frage: Hast du etwas an dem Script verändert? Sprich: Irgendwelche Teile herausgelöscht, oder sonstwie verändert?

Denn: Eventuell (Hab es noch nicht getestet) könnte die fehlende Klammer } nach der Abfrage darüber was der kontaktierende gerne hätte deinen Fehler auslösen. ;) Mal kurz ausprobieren, und im Script ein wenig Ordnung schaffen, dann fallen einem solche Fehler direkt auf. ;)

Gruss

sergey
 

Amy

Stammgast
Ok danke, ich werde morgen versuchen das Script etwas zu ordnen und vielleicht finde ich den Fehler. Wenn nicht, melde ich mich wieder. Nochmals vielen Danke
 
Oben