Kontaktformular Fehleranzeige

_SimonSez_

Mitglied
Hallo zusammen,

habe von einem Kollegen ein Kontaktformular bekommen, und es ein wenig gekürzt und jetzt bekomme ich eine Fehlermeldung.
Es soll ein Fehler nach </form> bei dem "else" sein. Leider habe ich noch nicht die Ahnung von PHP. Kann mir jemand helfen?

hier der Code:
PHP:
<?php
  
  $formularAnzeigen = false;
  if (!empty($_POST["senden"]) && (
      empty($_POST["Name"]) ||
      empty($_POST["eMail"]) ||
      empty($_POST["betreff"]) ||
      !$captchaValidierungOk ||
      empty($_POST["nachricht"]))) {
    $formularAnzeigen = true;
    echo '<span style="color: #FF0000; font-size: x-large;">Bitte alle Pflichtfelder ausfuellen.</span>';
  } else if (!empty($_POST["senden"]) &&
             !isEmail($_POST["eMail"])) {
    $formularAnzeigen = true;  
    echo '<span style="color: #FF0000; font-size: x-large;">Die E-Mail-Adresse ist nicht korrekt.</span>';
  } else if (empty($_POST["senden"])) {
    $formularAnzeigen = true;  
  }
  if ($formularAnzeigen) {
?>
<form name="kontaktFormular" method="post" action="<?=$_SERVER[PHP_SELF]; ?>" onSubmit="return isValid()">
  <table width="187" border="0">  
    <tr><td width="181"><strong>Name:</strong><br><input name="nachName" type="text" value="<?=$_POST['Name']; ?>" /></td></tr>
    <tr><td><strong>E-Mail:</strong><br><input name="eMail" type="text" id="eMail" value="<?=$_POST['eMail']; ?>" /></td></tr>
    <tr><td><strong>Betreff:</strong><br><input name="betreff1" type="text" id="betreff1" value="<?=$_POST['betreff']; ?>" /></td></tr>
    <tr><td><strong>Nachricht:</strong><br><textarea name="nachricht" rows="10"><?=$_POST['nachricht']; ?></textarea></td></tr>
    <tr><td>Code: <?=$code?><br><input type="text" name="captcha_code" size="4" /></td></tr>   
    <tr><td><div><input name="senden" type="submit" value="Senden" /></div></td></tr>
  </table>
</form>

<?php
   else {
    $eMail = '
        
Name:
'.$_POST['Name'].'
        
E-Mail:
'.$_POST['eMail'].'
        
Betreff:
'.$_POST['betreff'].'
        
Nachricht:
'.$_POST['nachricht'].'
        

'.$_POST['captcha'].'';
    
    if (@mail("######",
         "Neue Nachricht vom Kontaktformular",
         $eMail)) {
      echo "Vielen Dank für Ihre Nachricht..<br />"; 
    } else {
      echo "E-Mail-Verkehr funktioniert zur Zeit nicht<br />";
    }
    if ($_POST['kopie']) {
      if (@mail($_POST['eMail'],
           "Ihre Kopie",
           $eMail)) {
        echo "Eine Kopie Ihrer Nachricht, wurde an Sie verschickt.<br />";
      }
    }
  }
  
  function isEmail($email) {
    $nonascii      = "\x80-\xff"; 
    $nqtext        = "[^\\$nonascii\015\012\"]";
    $qchar         = "\\[^$nonascii]";
    $protocol      = "(?:mailto:)";
    $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";
    $regex         = "$protocol?$user_part\@$domain_part";
    if (preg_match("/^$regex$/",$email)) {
      return true;
    }
    return false;
  }
?>

Gruß
Simon
 
Hab keine Lust zum selber testen. Also, wie sieht denn die Fehlermeldung aus?

Nun gut, habs getestet.

Parse error: syntax error, unexpected T_ELSE in I:\xampp\htdocs\test\test.php on line 33

Und? Genau, bevor man ein else schreibt, muss man das if schliessen

if(true){
} else {
}
 
Zurück