PHP Fehlermeldung

  • Hallo, habe folgenden PHP-Code, allerdings stimmt da etwas nicht in Zeile 40 (For-Schleife)

    Parse error: syntax error, unexpected T_INC, expecting ')' in /var/www/web26/web/PHPPunkte.php on line 40

    <?php
    $auto = $_GET['Automarke'];
    $cars[0]="BMW";
    $cars[1]="Audi";
    $cars[2]="VW";
    $cars[3]="Mercedes";
    $cars[4]="Porsche";
    $cars[5]="Opel";


    function isDE($auto)
    {
    for($x=0; $cars[x]== $auto; x++)
    {
    if($cars[x]==$auto)
    {
    echo $cars[x]."ist eine deutsche Automarke";
    }
    else
    {
    echo $auto."ist keine deutsche Automarke";
    }
    }
    }
    ?>

    kann mir da jemand weiter helfen?

  • $cars[x]

    Da fällt dir nix auf? Und woher soll die Funktion $cars kennen?

  • Das ist eine Gute Frage, vielleicht sollte ich noch hinzufügen, dass ich mir die einzelnen Teile von http://w3schools.com/ abgeschaut habe.
    Ich bin noch ein totaler Anfänger, was PHP betrifft

  • Zeile 40 ist die Zeile, wo die For-Schleife beginnt, da steht noch ein HTML-Code oben drüber

  • Besonders für Anfänger geeignet:

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  • Hi, also habe jetzt meine Fehlermeldungen beseitigen können, allerdings klappt es noch nicht ganz richtig :( Vielleicht kann mir ja doch jemand einen konkreten Tipp geben, wo der Fehler liegt.

    Der Code ist folgender:
    <?php
    $auto = $_GET['Automarke'];
    $cars[0]="BMW";
    $cars[1]="Audi";
    $cars[2]="VW";
    $cars[3]="Mercedes";
    $cars[4]="Porsche";
    $cars[5]="Opel";


    function isDE($auto)
    {
    for($i=0;$i<=6;$i++)
    {
    if($auto==$cars[$i])
    {
    echo $auto." ist eine deutsche Automarke";
    }
    else
    {
    echo $auto." ist keine deutsche Automarke";
    }
    }

    }

    echo isDE($auto);
    ?>

    Ich übergebe in einer anderen Datei über ein Eingabefeld eine Automarke(z.B. Audi)
    Nun gibt mir die PHP-Funktion folgendes aus:
    "Audi ist keine deutsche Automarke" und das ganze 7 Mal :( obwohl "Audi" ja im Array steht

  • Also hab jetzt noch das Array an die Funktion übergeben, nur läuft die For-Schleife immernoch 7 Mal durch, aber beim 2ten Durchgang gibt es mir das richtige aus.
    Wie bekomm ich es hin, dass ich nur eine Ausgabe habe?
    Muss ich vielleicht eine andere Schleife nehmen?

  • Du brauchst überhaupt keine Schleife (ungetestet) :