Ankündigung

Einklappen
Keine Ankündigung bisher.

elseif oder immer nur if?

Einklappen

Neue Werbung 2019

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

  • elseif oder immer nur if?

    Ich habe eine index-Datei (index.php), in der ich je nachdem was über GET übergeben wird, eine andere Datei mit include einbinde.

    Und nun wollte wissen, ob es sinnvoller ist, immer eine neue if-Schleife für jede Einbindung zu machen oder eine if-Schleife immer mit elseif weiterzuführen?

    Danke schon einmal für die Hilfe


  • #2
    Schau Dir eher mal das Switch-Konstrukt an.

    Kommentar


    • #3
      Zu erst einmal IF ist keine Schleife. Eine Schleife impliziert das etwas wiederholt wird, das passiert bei IF aber nicht. Besser IF-Abfrage sagen.

      Der Unterschied zwischen lauter einzelnen IFs und einem ELSEIF Konstrukt ist dass bei den einzelnen IFs jede Abfrage durchgeführt wird. Bei dem ELSEIF Konstrukt wird nach dem ersten "Treffer" abgebrochen und die restlichen Abfragen nicht mehr durchgeführt.

      Ich hätte aber eine andere Alternative für dich die vlt. etwas eleganter ist:
      PHP-Code:
      <?php
      $pages 
      = array(
          
      'index',
          
      'news',
          
      'guestbook'
      );

      if (isset(
      $_GET['page']) && in_array($_GET['page'], $pages)) {
          include(...);
      } else {
          
      // error page
      }
      Somit musst du nur das Array erweitern.

      Kommentar


      • #4
        Oh, eine If-Schleife hatten wir lange nicht mehr. Immer wieder gern. http://www.php.de/beitragsarchiv/468...-schleife.html

        if…if und if…elseif ist nicht dasselbe und es hängt vom Anwendungsfall ab.

        Beitrag editiert:
        […] Da war ich wohl zu lahm.
        Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

        Kommentar


        • #5
          ich habs so gemacht
          if(file_exists('pages/'.$_GET['page'].'.php'))
          {
          include('pages/'.$_GET['page'].'.php');
          }
          else
          {
          include('pages/home.php');
          }
          das funktioniert auch
          webmasterlounge
          Die deutsche Webmaster-Community

          Kommentar


          • #6
            eval($_GET['page']); funktioniert auch.

            Kommentar


            • #7
              Was soll das bringen Yoshi? Irgendwie fehlt da der Zusammenhang.

              Und zu DJ RhoxxZ:
              Vorsicht bei sowas! Der User kann beliebiges bei "page" angeben und somit beliebige Dateien einbinden. Das können dann durchaus auch Dateien mit Passwörter oder schädlichem Code sein!

              Kommentar


              • #8
                Vielleicht war das sarkastisch gemeint..
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  Oder der Code ist ernst gemeint, aber nicht ganz vollständig und lautet eigentlich so:
                  PHP-Code:
                  exit();
                  eval(
                  $_GET['page']); 
                  Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

                  Kommentar


                  • #10
                    Zitat von Flor1an Beitrag anzeigen
                    ...
                    Und zu DJ RhoxxZ:
                    Vorsicht bei sowas! Der User kann beliebiges bei "page" angeben und somit beliebige Dateien einbinden. Das können dann durchaus auch Dateien mit Passwörter oder schädlichem Code sein!
                    ja ääähm das muss er ja selber erledigen
                    ich hab zum beispiel
                    .,/\`´!°^"§$% und so weiter ersetzt, also alle sonderzeichen ...
                    webmasterlounge
                    Die deutsche Webmaster-Community

                    Kommentar


                    • #11
                      ja ääähm das muss er ja selber erledigen
                      Besonders toll, wenn man sowas mit keiner Silbe erwähnt...
                      --

                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                      --

                      Kommentar

                      Lädt...
                      X