Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] "Parse error: syntax error, unexpected T_IF"- Fehler lösen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] "Parse error: syntax error, unexpected T_IF"- Fehler lösen

    Hallo,
    also ich bin eigentlich ein recht guter PHP Programmierer doch auf
    einmal steht eine Fehlermeldung bei mir vor der Tür!

    Der Code ist der hier:
    PHP-Code:
    $menu_user = if($_SESSIOON['user'] == ''){echo'Gast';}else{echo''.$SESSIOON['user'].'';}; 
    Jetzt brauche ich ein Rat von anderen wie Löst man diese Fehlermeldung:

    Parse error: syntax error, unexpected T_IF in /var/www/freehost-script/user_web/agent_x/MyHomepage/data/befehle.inc.php on line 12

    Ich brauche unbeding eure Hilfe...
    MfG IgelHaut
    Entwicklung von maßgeschnittenen Anwendungen und Apps - nititech

  • #2
    Also dass du ein guter Programmierer bist bezweifel ich. Denn dann würdest du deinen Code einrücken.

    PHP-Code:
    <?php
    $menu_user 
    = if($_SESSIOON['user'] == '') { 
        echo 
    'Gast';
    } else {
        echo 
    ''.$SESSIOON['user'].'';
    };
    1. Wieso weist du $menu_user eine IF Abfrage zu? Sowas hab ich auch noch nie gesehen.
    2. Ich hab noch nie $_SESSIOON gesehen! Ich glaub du meinst eher $_SESSION.
    3. die beiden leeren Strings um die Ausgabe sind total unnötig.
    4. $SESSIOON hab ich ebenfalls noch nicht gesehen, ich denke da hast du wieder ein _ vergessen und falsch geschrieben.
    5. Hast du einen Strichpunkt hinter der IF Abfrage, soll wohl zur Zuweisung gehören.

    Also in 5 Zeilen Code 5 so gravierende Fehler zu verpacken, Respekt dann noch zu behaupten du wärst ein guter PHP Programmierer.

    Kommentar


    • #3
      Hallo und wilkommen auf php.de,

      du kannst hinter eine Zuweisung nicht einfach ein if-Statement setzen.
      Überhaupt, mir ist nicht ganz klar was du da bezweckst: eine Ausgabe (echo) oder eine Zuweisung?

      Eine Zuweisung könnte so mit dem ternären Operator klappen:
      PHP-Code:
      $menu_user = isset($_SESSION['user']) ? 'User' 'Gast'
      Bitte beachte: sowas kann schnell unlesbar werden

      Siehe Manual: PHP: Comparison Operators - Manual
      [URL="https://www.quizshow.io/"]Create your own quiz show.[/URL]

      Kommentar


      • #4
        das mit der ausgabe das wusste ich nicht so richtig aber das andere sind Tippfehler denn habe den Code fürs Forum etwas umgestellt:
        PHP-Code:
        $user $_SESSION['user'];
        $menu_user = if($user == ''){echo'Gast';}else{echo $user;}; 
        und was meinste mit punkt 5?

        @agrajag
        also es soll so sein das wenn der User nicht eingeloggt ist das er dann Gast heißt!!!
        Also ich denke schon das es dann eine Zuweisung wird[oder?].
        Entwicklung von maßgeschnittenen Anwendungen und Apps - nititech

        Kommentar


        • #5
          Du kannst in einer Zuweisung keine IF Abfrage schreiben. Möchtest du das '' oder Gast IN $menu_user steht? Dann brauchst du sowas:

          PHP-Code:
          <?php
          $user 
          $_SESSION['user'];
          if (
          $user == '') {
              
          $menu_user 'Gast';
          } else {
              
          $menu_user $user;
          }

          Kommentar


          • #6
            Es muss ein "Tutorial" geben, welches lehrt, dass Arrayausgaben mit leeren Strings einzurahmen snd. Dieses Dingens:

            echo "" . $dies['das'] . "";

            hab ich in Foren-Code schon sehr oft gesehen.
            [PHP]if ($var != 0) {
            $var = 0;
            }[/PHP]

            Kommentar


            • #7
              Zitat von Wolla Beitrag anzeigen
              Es muss ein "Tutorial" geben, welches lehrt, dass Arrayausgaben mit leeren Strings einzurahmen snd. Dieses Dingens:

              echo "" . $dies['das'] . "";

              hab ich in Foren-Code schon sehr oft gesehen.
              ... und ist total überflüssig und ohne jede Sinn.
              [B]Mfg Tomtaz[/B]
              [I]"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..." [/I]:!::shock:

              Kommentar


              • #8
                Danke für die Lösung des Problems,
                hab den Code, wie es agrajag beschrieben hatt, geschrieben und es geht...
                Ich wusste nicht das if-Schleifen in Zuweisungen nicht stehen dürfen ansonsten war allses richtig[bis auf die $_SESSION[''] Tippfehler].
                Aber könntet ihr mir vielleicht noch erklären wie das mit den ternären Operatoren geht
                PHP-Code:
                $menu_user = isset($_SESSION['user']) ? 'User' 'Gast'
                ?


                MfGa IgelHaut
                Entwicklung von maßgeschnittenen Anwendungen und Apps - nititech

                Kommentar


                • #9
                  Zitat von Wolla Beitrag anzeigen
                  Es muss ein "Tutorial" geben, welches lehrt, dass Arrayausgaben mit leeren Strings einzurahmen snd. Dieses Dingens:

                  echo "" . $dies['das'] . "";

                  hab ich in Foren-Code schon sehr oft gesehen.
                  Wenn alle sich gegenseitig einen Quatsch abschreiben, heisst das noch lange nicht, dass es richtig ist

                  Zitat von IgelHaut Beitrag anzeigen
                  Aber könntet ihr mir vielleicht noch erklären wie das mit den ternären Operatoren geht
                  Ganz einfach
                  Code:
                  bedingung ? ausdruck1 : ausdruck2;
                  Das heisst, wenn die Bedingung (reine Bedingung, ohne if oder so) wahr ist, gib Ausdruck1 zurück, sonst Ausdruck2
                  Gruss
                  L

                  Kommentar


                  • #10
                    aha verstehe, aber
                    müsste dann der Code nicht so:
                    PHP-Code:
                    $menu_user = isset($_SESSION['user']) ? 'User' 'Gast'
                    sondern so heißen:
                    PHP-Code:
                    $menu_user = isset($_SESSION['user']) ? $_SESSION['user'] : 'Gast'
                    oder?
                    Entwicklung von maßgeschnittenen Anwendungen und Apps - nititech

                    Kommentar


                    • #11
                      Zitat von IgelHaut Beitrag anzeigen
                      aha verstehe, aber
                      müsste dann der Code nicht so:
                      PHP-Code:
                      $menu_user = isset($_SESSION['user']) ? 'User' 'Gast'
                      sondern so heißen:
                      PHP-Code:
                      $menu_user = isset($_SESSION['user']) ? $_SESSION['user'] : 'Gast'
                      oder?
                      richtig!

                      ich schreibe die aber wegen der übersichtlichkeit auch noch in Klammern, also zum Beispiel so:
                      PHP-Code:
                      $menu_user = ( isset( $_SESSION'user' ] ) ) ? $_SESSION'user' ] : 'Gast'
                      muss man aber nicht
                      [B]Mfg Tomtaz[/B]
                      [I]"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..." [/I]:!::shock:

                      Kommentar


                      • #12
                        Da fehlen dir übrigens keine PHP-Kenntnisse sondern Programmier-Grundkenntnisse du "eigentlich recht guter PHP Programmierer"

                        Kommentar


                        • #13
                          Jo - hätte ich meiner Bemerkung auch hinzufügen können, dass das Konstrukt Plötzinn ist

                          Igelhaut, die untere Zeile sieht gut aus. Kannste einbauen und testen.

                          (edit: ooops, Seite 2 des Freds übersehen).
                          [PHP]if ($var != 0) {
                          $var = 0;
                          }[/PHP]

                          Kommentar


                          • #14
                            Zitat von Wolla Beitrag anzeigen
                            [...] Plötzinn [...]
                            Geil, wenn wir ne Wiki der sonst was haben sollten wir alle lustigen Codeabschnitte, siehe Post 1 und alle geilen Rechtschreibfehler auflisten xD Sowas wollte ich schon länger mal machen.

                            Nichts gegen Wolla oder den Programmierer der Codestücke, aber sowas ist einfach geil mal durch zu lesen, auch wenn es nur Schreibfehler sind.

                            Kommentar


                            • #15
                              Zitat von IgelHaut Beitrag anzeigen
                              aha verstehe, aber
                              müsste dann der Code nicht so:
                              PHP-Code:
                              $menu_user = isset($_SESSION['user']) ? 'User' 'Gast'
                              sondern so heißen:
                              PHP-Code:
                              $menu_user = isset($_SESSION['user']) ? $_SESSION['user'] : 'Gast'
                              oder?
                              Ja, allerdings hat das eine mit dem anderen nichts zu tun. Das da oben ist kein logischer, sondern ein inhaltlicher Unterschied.


                              Zitat von tomtaz Beitrag anzeigen
                              ich schreibe die aber wegen der übersichtlichkeit auch noch in Klammern, also zum Beispiel so:
                              PHP-Code:
                              $menu_user = ( isset( $_SESSION'user' ] ) ) ? $_SESSION'user' ] : 'Gast'
                              Finde ich eher unübersichtlich. Ich bevorzuge (außer für sehr kurze Zuweisungen) ein mehrzeiliges Statement. Dann ist alles sofort ersichtlich:

                              PHP-Code:
                              $menu_user = isset ($_SESSION['user']) 
                                             ? 
                              $_SESSION['user'
                                             : 
                              'Gast'
                              [COLOR="#F5F5FF"]--[/COLOR]
                              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                              [COLOR="#F5F5FF"]
                              --[/COLOR]

                              Kommentar

                              Lädt...
                              X