olli_t: Parse error: syntax error usw. bei if/else-Schleife

Hallo,

ich habe ein kleines Problem bei meinem laienhaften Versuch, etwas mit PHP auf die Beine zu stellen. Evtl. kann mir ja jemand helfen. Und zwar bekomme ich beim Aufrufen von "file.php" immer folgende Fehlermeldung angezeigt:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in file.php on line 123

Das dazugehörige Script (wobei "line 123" die if-Zeile ist und ich wirklich nicht weiß, wo da ein Komma fehlen soll):

<?php
  $_GET['x'];
  if (!isset($x)) {echo "<img src="pic1.jpg">";}
  elseif ($x == pic1) {echo "<img src="pic1.jpg">";}
  elseif ($x == pic2) {echo "<img src="pic2.jpg">";}
  else {echo "<img src="pic1.jpg">";}
?>

Ich hoffe, es ist wenigstens ersichtlich, was Ziel des ganzen Scriptes sein soll; nämlich in Abhängigkeit von dem in der URL angesprochenen Variablenwert unterschiedliche Bilddateien anzeigen zu lassen.

Danke und Gruß,
Oliver

  1. hi,

    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in file.php on line 123

    <?php
      $_GET['x'];

    Was soll das? Sinnfrei.

    if (!isset($x)) {echo "<img src="pic1.jpg">";}

    Lese dir bitte aufmerksam das Handbuch-Kapitel über Strings durch.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. <?php
      $_GET['x'];

    Das musst du schon wohin schreiben. Also z.B.:
    $x = $_GET['x'];
    Ansonsten ist hier:

    if (!isset($x)) {echo "<img src="pic1.jpg">";}

    $x ja nie gesetzt.

    und dann sowas wie:
    if ($x == pic1) {echo "<img src="pic1.jpg">";}
    Oder halt als switch oder mit else, wies dir beliebt.

    1. echo $begrüßung;

      $_GET['x'];
      Das musst du schon wohin schreiben. Also z.B.:
      $x = $_GET['x'];
      Ansonsten ist hier:
        if (!isset($x)) {echo "<img src="pic1.jpg">";}
      $x ja nie gesetzt.

      Ja, und so ist $x theoretisch immer gesetzt, denn es wurde ihm ja etwas zugewiesen. isset() betrachtet aber NULL-Werte ebenfalls als nicht gesetzte Variablen. Da das Abfragen einer nicht existenten Variable NULL ergibt, funktioniert das Konstrukt praktisch doch noch. Dieser (theoretische) Konflikt muss aber gar nicht auftreten, wenn man die Unart unterlässt, $_GET- und $_POST-Einträge in andere Variablen umzukopieren. Elemente eines Arrays haben exakt die gleichen Eigenschaften wie alleinstehende Variablen.

      echo "$verabschiedung $name";

  3. Hallo,

    if/else-Schleife

    Würdest du mir erklären, was eine if/else-Schleife sein soll? Ich kenne for()-Schleifen, while()-Schleifen und ähnliches, aber mit "if" eine Schleife zu realisieren, halte ich für höchst ungewöhlich.

    *SCNR*

    Jonathan