Problem mit IF

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

  • Problem mit IF

    Verzeichnis HOME/index.php

    PHP-Code:
    <?php 
    if($_GET["open"]=="impressum" || 
       
    $_GET["open"]=="kontakt" || 
       
    $_GET["open"]=="readme")
    {
    include(
    $_GET["open"].".inc");
    }
    else
    {
    include(
    "error.inc");
    }
    ?>
    Wenn ich jetzt die impressum.inc in ein anderes Verzeichnis verschiebe z.B. nach INTERN, wie rufe ich diese dann aus der index.php auf damit die anderen aber auch noch funktionieren?
    Also, die Index.php befindet sich im Home Verzeichnis die *.inc befinden sich in eigenen Verzeichnissen, diese will ich aber aus der HOME/index.php aufrufen, wie stelle ich das am besten an?
    Bislang waren die "inc" immer im selben Verzeichnis wie die "index" das will ich jetzt nicht mehr so haben.

  • #2
    switch()
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      *.inc ist übrigens eine besch****ene dateiendung ... schonmal die datei direkt im browser aufgerufen?
      Kissolino.com

      Kommentar


      • #4
        schließ mich wurzel an und leg dir nocht die funktion in_array() ans herz:
        http://php.net/in_array
        mfg,
        [color=#0080c0]Coragon[/color]

        Kommentar


        • #5
          Original geschrieben von Wurzel
          *.inc ist übrigens eine besch****ene dateiendung ... schonmal die datei direkt im browser aufgerufen?
          Mein Server ist so konfiguiert dass er auschlieslich .htm, .html, .php, .php3 und .php, shtm und shtml anzeigt.


          Aber prinzipiell hast du Recht.


          An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

          Kommentar


          • #6
            Original geschrieben von MaxP0W3R
            Mein Server ist so konfiguiert dass er auschlieslich .htm, .html, .php, .php3 und .php, shtm und shtml anzeigt.
            was quasi vollkommen sinnfrei ist ..... im übrigen geht es nicht um deinen server
            h.a.n.d.
            Schmalle

            http://impressed.by
            http://blog.schmalenberger.it



            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
            ... nur ohne :-)

            Kommentar


            • #7
              OffTopic:
              Ich dachte mein Server ist der Mittelpunkt der Welt :P


              An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

              Kommentar


              • #8
                Original geschrieben von derHund
                switch()
                Hm.. ist es so nicht besser?

                PHP-Code:
                <?php 
                if($_GET["open"]=="")
                  { include(
                "index"); 
                }
                else if (
                $_GET["open"]=="impressum")
                  { include(
                "blabla/impress");
                }
                else if (
                $_GET["open"]=="disclaimer")
                  { include(
                "blabla/disclaim");
                }
                else if (
                $_GET["open"]=="kontakt")
                  { include(
                "blabla/mailto");
                }
                else {
                  include(
                "fail");
                }
                ?>

                Kommentar


                • #9
                  Original geschrieben von MaxP0W3R
                  Mein Server ist so konfiguiert dass er auschlieslich .htm, .html, .php, .php3 und .php, shtm und shtml anzeigt.

                  Aber prinzipiell hast du Recht.
                  Und wenn ich "/?open=impresssum" aufrufe dann aber "impress.inc" includiere, kann sie keiner solo anzeigen lassen weil er die richtige Datei hier "impress.inc" nicht kennt, er geht ja von "imprerssum" aus.
                  Ich selbst muss die *.inc ja nicht solo aufrufen warum?

                  Kommentar


                  • #10
                    stell dir vor es gibt auch gaaaanz böse jungs&mädels ... und eines tages
                    stehen deine zugangsdaten zur db in einer db.inc ... besser, man gewöhnt
                    sich sowas garnicht erst an
                    Kissolino.com

                    Kommentar


                    • #11
                      ich hab mittlweile auch so langsam alles auf .inc.php umgestellt.

                      die dinger werden beim aufruf geparsed aber ausgabe erfolgt keine bzw nur ne fehlermeldung...


                      An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

                      Kommentar


                      • #12
                        Original geschrieben von Detonator
                        Hm.. ist es so nicht besser?

                        PHP-Code:
                        <?php 
                        if($_GET["open"]=="")
                          { include(
                        "index"); 
                        }
                        else if (
                        $_GET["open"]=="impressum")
                          { include(
                        "blabla/impress");
                        }
                        else if (
                        $_GET["open"]=="disclaimer")
                          { include(
                        "blabla/disclaim");
                        }
                        else if (
                        $_GET["open"]=="kontakt")
                          { include(
                        "blabla/mailto");
                        }
                        else {
                          include(
                        "fail");
                        }
                        ?>
                        PHP-Code:
                        //Beispiel als switch

                        if(empty($_GET['open']))

                        $open "";
                        }
                        else
                        {
                        $open $_GET['open'];
                        }

                        switch(
                        $open)
                          {
                        case 
                        "impressum":

                         include(
                        "blabla/impress");
                        break;

                        case 
                        "disclaimer":

                           include(
                        "blabla/disclaim");
                        break;

                        case 
                        "kontakt":

                           include(
                        "blabla/mailto");
                        break;

                        case default:

                        include(
                        "index"); 
                        break;

                        und statt datei.inc besser datei.inc.php
                        mfg
                        marc75

                        <Platz für anderes>

                        Kommentar


                        • #13
                          Das müsst ihr mir jetzt aber erklären mit der *.inc, was ist daran jetzt so schlimm? verstehe ich irgendwie nicht.
                          Und was ist wenn ich die *.inc in *.bla umbennen, was passiert dann? ist doch hops wie gesprungen oder nicht?
                          Und was ist wenn die include Dateien garkeine Endung haben?

                          Wie kann jemand eine *.inc aufrufen wenn in jedem Verzeichnis eine index.html sowie eine .htaccess Datei existiert die sowas normalerweise erst garnicht möglich macht? zudem die index.php das ja auch abfängt wenn IF nicht zutrifft!
                          Woher weiss jemand überhaupt wie die Dateien heissen die er aufrufen soll? macht er das auf gut Glück oder wie?
                          Was habe ich davon wenn impressum.inc , impressum.inc.php heisst? warum nicht gleich einfach nur impressum ohne Erweiterung? ist das jetzt einfach nur wegen der Übersicht und Kosmetik oder wie soll ich das verstehen?

                          cu
                          Zuletzt geändert von Detonator; 12.03.2004, 13:49.

                          Kommentar


                          • #14
                            Original geschrieben von marc75
                            PHP-Code:
                            //Beispiel als switch

                            if(empty($_GET['open']))

                            $open "";
                            }
                            else
                            {
                            $open $_GET['open'];
                            }

                            switch(
                            $open)
                              {
                            case 
                            "impressum":

                             include(
                            "blabla/impress");
                            break;

                            case 
                            "disclaimer":

                               include(
                            "blabla/disclaim");
                            break;

                            case 
                            "kontakt":

                               include(
                            "blabla/mailto");
                            break;

                            case default:

                            include(
                            "index"); 
                            break;

                            und statt datei.inc besser datei.inc.php
                            Und diese Variante ist besser als mit IF? das Problem ist, meine index.php hat nur den Kopf und Footer als HTML, das was in der Mitte kommt wird dann includiert. Rufe ich jetzt meine Seite einfach nur mit dem Domain Namen auf bekomme ich das unter else includiert, mit IF sage ich wenn "" dann mitte.inc includieren welche den Code für die Startseite in der Mitte enthält. Das geht wohl mit switch nicht? vorallem was ist jetzt besser, switch oder IF ?

                            Kommentar


                            • #15
                              switch ist frundsätzlich dann sinnvoll, wenn du mit mehrere if anweisungen den inhalt einer varibalen prüfen wilslt
                              z.b.
                              if $i = 1 {}
                              if $i = 2 {}
                              etc.

                              dann machst du

                              switch $i
                              {
                              case 1: ...; break;
                              case 2: ...; break;
                              default: // hier steht der code, der ausgeführt wird, wenn keine case bedingung greift.

                              zu der dateiendung .php
                              finde ich persönlich sicherer, wenn mann seine include dateien blbla.php nennt, es schreibt dir keiner vor welche endung du dennen verpasst, kannst sie auch .txt nenne.

                              hast du schonmal eine datenbankabfrage gesehen, wenn der server abgeschmiert ist??
                              fehlermeldung: blabla, in include/meine_passwörtet.txt
                              und ehrlich, falls ich wirklich sowas sehen sollte - rein aus neugier würde ich dir den server zukünftig mit den daten abschiesen

                              Kommentar

                              Lädt...
                              X