syntax error, unexpected T_IF

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • syntax error, unexpected T_IF

    PHP-Code:
    $datafile='dropdown.xxl';
    $inhalt=file($datafile);
    for(
    $i=0$i<count($inhalt); $i++)
          
    $line[]=explode(';'$inhalt[$i]);

    echo
    ''.$line[0][0].'
    <html>

        <head>
            <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
            <title>DROPDOWN - TEST</title>
        </head>

        <body bgcolor="#ffffff">
            <form action="dropdown.php?action=write" method="post" name="FormName">
                <p><select name="selectName" size="1">
                        <option value="5" '
    .if ($line[0][0] ==  "5"){print "selected";}.' >5</option>
                        <option value="6" '
    .if ($line[0][0] ==  "6"){print "selected";}.' >6</option>
                        <option value="7" '
    .if ($line[0][0] ==  "7"){print "selected";}.' >7</option>
                        <option value="8" '
    .if ($line[0][0] ==  "8"){print "selected";}.' >8</option>
                        <option value="9" '
    .if ($line[0][0] ==  "9"){print "selected";}.' >9</option>
                        <option value="10" '
    .if ($line[0][0] ==  "10"){print "selected";}.' >10</option>
                        <option value="11" '
    .if ($line[0][0] ==  "11"){print "selected";}.' >11</option>
                    </select><input type="submit" name="submitButtonName" border="0"></p>
            </form>
        </body>

    </html>
    '
    ?> 
    syntax error, unexpected T_IF in... kommt hier als fehlermeldung.
    Irgendwo hab ich da n Fehler drin und find ihn nicht. Ich weiss es das es nur was kleines is, aber nach mittlerweile 11 std. PHP seh ich es nicht mehr. Könnt ihr mir helfen??

  • #2
    (die 11 std. müssen ja höchstproduktiv gewesen sein)

    da steht's doch in der fehlermeldung - was soll die if-abfrage mitten in der zeile?

    Kommentar


    • #3
      mal so ne Frage am Rande, wenn Du ein dropdown von 1 bis 100 zur Auswahl hast, schreibst Du dann 100 mal das Gleiche?
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        Vermutlich: JA!

        Kommentar


        • #5
          echo''.$line[0][0]
          das ''. is auch sinnlos.

          Kommentar


          • #6
            Original geschrieben von MelloPie
            mal so ne Frage am Rande, wenn Du ein dropdown von 1 bis 100 zur Auswahl hast, schreibst Du dann 100 mal das Gleiche?
            1. weiss ich nicht wie es anders geht
            2. hab ich nur die auswahl von 5 -11
            3. bin ich kräftig am PHP lernen, und das ohne jedes problem das ich hab gleich hier zu posten, da ich mir das meiste aus diesem forum zusammenschnipsel

            Kommentar


            • #7
              1 & 2: Tipp: for-schleife
              3. Ist das ne Drohung?

              Kommentar


              • #8
                Original geschrieben von p_rehm

                3. Ist das ne Drohung?
                Ich drohe nie! Mir isses im endefekt wurscht ob meine scripts einfach oder umständlich sind, für mich zählt das es funktioniert. Schliesslich verdien ich ja nicht mein geld damit

                Kommentar


                • #9
                  lies Dir mal was über schleifen durch...
                  verwendungsweise und techniken...
                  Beantworte nie Threads mit mehr als 15 followups...
                  Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                  Kommentar


                  • #10
                    und was das if angeht: Benutz den ?-Operator.
                    mein Sport: mein Frühstück: meine Arbeit:

                    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                    Kommentar


                    • #11
                      Da der Link von Titus ein bisschen durcheinander geraten ist hier der Code, der für dich interessant sein sollte:
                      Statt
                      .if ($line[0][0] == "11"){print "selected";}.
                      solltest du
                      PHP-Code:
                      .($line[0][0] ==  "11"?"selected":""). 
                      verwenden. (a?b:c) ist eine verkürzte Version des Befehls
                      if (a) return b; else return c;
                      Wer einen Weisen dumm fragt, wird eine kluge Antwort bekommen. Es ist nur die Frage, ob er sie auch versteht.

                      Kommentar


                      • #12
                        danke, scheint mittlerweile für meine zwecke zu funktionieren.

                        nur: ist es denn sooo schlimm wenn ich das ganze jetzt 5 mal tippe ?
                        wo liegt denn der unterschied zu einer for schleife? funktionnieren tut es ja auch so, was also sollte es mir bringen das ganze jetzt mit ner for schleife umzumodeln , wenn von vorneherein feststeht, das ich nur maximal diese 7 auswahlen im dropdown hab??

                        Kommentar


                        • #13
                          Wenn du es eh schon mal getippt hast ist es schon in Ordnung, aber man sollte einfach überlegen, was man machen will und mit einer for-Schleife ist es übersichlicher und geht schneller.
                          PHP-Code:
                          for ($i=5$i<=11$i++) {
                             echo 
                          '<option value="'.$i.'" '.($line[0][0] ==  $i ?"selected":"").' >'.$i.'</option>\n'

                          Außerdem kann man es dann auch für andere Zwecke bei denen man vielleicht mal mehr als 5 Sachen braucht wiederverwenden.
                          Wer einen Weisen dumm fragt, wird eine kluge Antwort bekommen. Es ist nur die Frage, ob er sie auch versteht.

                          Kommentar


                          • #14
                            Der Code wird übersichtlicher, kürzer und flexibler.

                            Kommentar

                            Lädt...
                            X