Wo ist hier der Fehler?

Bei folgen Code:
PHP:
function CheckEmail ($email)
{
  list ($user,$domain) = split("@", $email, 2);
  getmxrr($domain, $mxlist);
  $return = array(FALSE,"Kein Mailer.")
  foreach ($mxlist as $mx)
  {
    $fp = fsockopen($mx, 25, $errno, $errstr, 20);
    if (!$fp) continue; //nächster MX_Eintrag
    socket_set_blocking($fp, FALSE);
    $s = 0; $c = 0;
    $out = "";
    do { // Auf Antwort warten
      $out = fgets ( $fp, 2500 );
      if (ereg("^220", $out)) {
        $s = 0;
        $out = "";
        $c++;
      }else
      if (($c>0) && ($out=="")) break;
      else $s++;
      if ($s==9999) break;
    } while ($out=="");
    socket_set_blocking ($fp, TRUE);
    fputs ($fp, "HELO kizi\n" );
    $out = fgets($fp, 3000);
    fputs ($fp, "MAIL FROM: Webmaster@nomoketo.de\n" );
    $out = fgets($fp, 3000);
    fputs ($fp, "RCPT TO: $email\n");
    $out = fgets($fp, 3000);
    if (ereg("^250", $out)) $return = array(TRUE,$out);
    else $return = array(FALSE,$out);
    fputs ($fp, "quit\n");
    fclose($fp);
    if ($return[0]) break;
  }
  return $return;
}

meldet mein Server folgenden Fehler:

Code:
Parse error: parse error, unexpected T_FOREACH in /web/abi/Film/Anmeldung.php on line 75
Die 75. Leine sollte man nicht berücksichtigen, da dies nur ein ausschnitt eines etwas größeren Codes ist.


Kann mir bitte jemand sagen, was an dem foreach falsch ist?
 
Oh mann ich Blinder... :rolleyes:

Da muss aber noch ein fehler drin sein:

Code:
Parse error: parse error, unexpected $ in /web/abi/Film/Anmeldung.php on line 109
 
für diesen fehler würd' ich mich über line 100-110 freuen
für mich klingt das nach nem $ zuviel oder du hast " vergessen zu schließen oder wie vorhin schon das ; vergessen
 
Ja, das denkt man schon, aber alle Semikola sind da, wo sie hin gehören. Geschlossen is auch alles...
 
Aber einwenig mehr Code wäre trotzdem hilfreich, denn zur WM wurden die Kristallkugeln alle abgeschaltet. :D

Also poste doch einfach mal die betreffenden Zeilen.


püppi
 
Bitte, ihr habt es nicht anders gewollt :D

PHP:
<?php

### Daten überprüfen ###
$fehler = 0;
$userfehler = 0;
$emailfehler = 0;
$mitmachfehler = 0;
$emailinkorrekt = 0;
if ($_POST) {
  if ($_POST["user"] == '') {
    $fehler = $fehler + 1;
    $userfehler = 1;
  }
  if ($_POST["email"] == '') {
    $fehler = $fehler + 1;
    $emailfehler = 1;
  } else {
    if (CheckEmail ($_POST["email"]) == FALSE) {
      $fehler = $fehler + 1;
      $emailinkorrekt = 1;
    }
  }
  if ($_POST["schreiben"] == '' && $_POST["malen"] == '' && $_POST["sprechen"] == '') {
    $fehler = $fehler + 1;
    $mitmachfehler = 1;
  }
  if ($fehler != 0) {
    echo("<html>\n\n<head>\n<title>Unsere Klasse dreht einen Film! - Anmeldeformular</title>\n<link href=\"Style.css\" rel=\"stylesheet\" type=\"text/css\">\n</head>\n\n<body>\n\n<center>\n<table cellspacing=\"0\" cellpadding=\"0\" width=\"500\">\n  <tr>\n    <td height=\"25\"><span style=\"font-size: 2pt\"> <embed src=\"Musik.mp3\" autostart=\"true\" hidden=\"true\" height=\"0\" width=\"0\">\n    </span></td>\n  </tr>\n  <tr>\n    <td height=\"375\"><center>\n");
    if ($fehler == 1) {
      echo("<h1>Folgender Fehler ist aufgetreten:</h1>\n");
    } else {
      echo("<h1>Folgende Fehler sind aufgetreten:</h1>\n");
    }
    if ($userfehler == 1) {
      echo("Du hast keinen Benutzernamen angegeben!<br>\n");
    }
    if ($emailfehler == 1) {
      echo("Du hast keinen Benutzernamen angegeben!<br>\n");
    } else {
      if ($emailinkorrekt == 1) {
        echo("Der eMail-Server, auf dem sich deine eMail-Adresse befindet, gibt an, dass deine eMail-Adresse nicht existiert, oder ist nicht erreichbar.<br>\n");
      }
    }
    if ($mitmachfehler == 1) {
      echo("Du hast kein Gebiet angegeben, bei dem du Mitmachen möchtest!<br>\n");
    }
    echo("<a href=\"javascript:history.back()\" title=\"Zurück\"><font color=\"#808080\">Zurück</font></a><font color=\"#808080\">\n    </font></center></td>\n  </tr>\n</table>\n</center>\n\n</body>\n\n</html>");
  } else {
    // email Versenden
    // Empfänger der eMail
    $strAn = $_POST["email"];

    // Welche Adresse soll als Absender angegeben werden?
    // (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
    $strFrom = '"Die Sekretaerin von nomoketo.de" <abi2012@nomoketo.de>';

    // Welchen Betreff sollen die Mails erhalten?
    $strSubject    = 'Anmeldung für den Film bei NoMoKeTo.de';

    // Zufallszahl
    $code = rand(11111,99999);

    $strMailtext = "Hi, hier ist die fleissige Sekretaerin von NoMoKeTo.de!\nSoeben teilte mir der Server über einen POST-Request mit, du braeuchtest einen eMail Code! Na, den will ich dir mal geben!\n\nEr lautet:";
    $strMailtext .= $code;
    $strMailtext .= "\n\nNaja, das waer's dann. Bitte antworte mir nicht, sonst brech ich noch vollkommen zusammen unter meinem Stress!\n\n\nDie fleissige Sekretaerin by NoMoKeTo 2006";
    
    mail($strAn, $strSubject, $strMailtext, "From: ".$strFrom);
}

function CheckEmail ($email)
{
  list ($user,$domain) = split("@", $email, 2);
  getmxrr($domain, $mxlist);
  $return = array(FALSE,"Kein Mailer.");
  foreach ($mxlist as $mx)
  {
    $fp = fsockopen($mx, 25, $errno, $errstr, 20);
    if (!$fp) continue; //nächster MX_Eintrag
    socket_set_blocking($fp, FALSE);
    $s = 0; $c = 0;
    $out = "";
    do { // Auf Antwort warten
      $out = fgets ( $fp, 2500 );
      if (ereg("^220", $out)) {
        $s = 0;
        $out = "";
        $c++;
      }else
      if (($c>0) && ($out=="")) break;
      else $s++;
      if ($s==9999) break;
    } while ($out=="");
    socket_set_blocking ($fp, TRUE);
    fputs ($fp, "HELO kizi\n" );
    $out = fgets($fp, 3000);
    fputs ($fp, "MAIL FROM: Webmaster@nomoketo.de\n" );
    $out = fgets($fp, 3000);
    fputs ($fp, "RCPT TO: $email\n");
    $out = fgets($fp, 3000);
    if (ereg("^250", $out)) $return = array(TRUE,$out);
    else $return = array(FALSE,$out);
    fputs ($fp, "quit\n");
    fclose($fp);
    if ($return[0]) break;
  }
  return $return;
}

?>

Hoffentlich hilft es weiter. =)
 
Würdest Du einen anständigen Editor benutzen ;-), dann hättest den Fehler gefunden!

Ich würde mal Deine if ($_POST) { Abfrage schließen, dann sollte es auch funktionieren.

Sprich, Du musst vor Deiner Function eine schließende Klammern einfügen.
 
Also wenn er Dir diesen Fehler nicht gezeigt hat, ist er nicht so gut :P. Ich kann jedem nur raten sich Eclipse mit PHPEclipse zu holen. Für PHP-Programmierung ist dass das beste Open Source Programm was es gibt. Und wer Kohle locker machen will sollte sich Zend Studio holen.

Aber das nur so am Rande.
 
Zurück
Oben