include-logik-problem

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

  • include-logik-problem

    Hallo,
    Ich habe meine Seite komplett mit includes geschrieben. Also in der index.php wird der inhalt der in der mitte angzeigt wird durch ein include befehl eingefügt. Also z.B. "index.php?area=news".
    Mein problem ist nun das wenn ich z.B. ein Formular abschicke z.B. login bereich (admin) das das dann nicht in der mitte eingefügt wird sondern entweder neues fenster oder gleiches fenster aber eben nicht in der mitte. Muss ich jetzt für alles einen neuen include befehl mit if schreiben oder geht das auch einfacher. Wie kan man sowas professioneller machen???
    Ich hoffe diese Schilderung war eindeutig genug!

    Code:
    <?php 
    $area = $_GET['area'];
    $view = $_GET['view'];
    if(!isset($area)){
    include("news.php");
    }
    else{
    if($area == "news"){
    include("news.php");
    }
    if($area == "links"){
    include("links.php");
    }
    if($area == "gb"){
    include("guestbook.php");
    }
    if($area == "server"){
    include("server.php");
    }
    if($area == "underC"){
    include("ud.php");
    }
    if($area == "partner"){
    include("partners.php");
    }
    if($area == "contact"){
    include("contact.php");
    }
    if($area == "disclaimer"){
    include("http://www.disclaimer.de/disclaimer.htm");
    }
    if($area == "info"){
    include("info.php");
    }
    if($area == "pictures"){
    include("pictures.php");
    }
    if($area == "pgames"){
    include("pictures_games.php");
    }
    if($area == "pgamesbf1942"){
    include("http://lightdisc.zf-gaming.de/pictures/games/bf1942/index.htm");
    }
    }
    ?>
    Zuletzt geändert von lightdisc; 05.04.2006, 21:09.

  • #2
    Brich bitte deinen code ordentlich um, les dir mal die regeln durch.


    Zu deiner Idee:

    PHP-Code:
    if(isset($_GET['area']) AND file_exits('inc/'.$_GET['area'].'.inc.php')){
      include(
    'inc/'.$_GET['area'].'.inc.php');
    }else{
      include(
    'inc/home.inc.php');

    Kommentar


    • #3
      Also nach deinem Code zufolge meinst du ich soll die ganzen if/else prüfungen in einer externen datei ablegen oder wie?!

      Kommentar


      • #4
        Nein, das habe ich nicht geschrieben

        1. Du sollst bitte den Regeln folgend deinen Code im ersten Post umbrechen.

        2. Schau dir mein Beispiel mal genauer an und versuch nachzuvollziehen was da gemacht wird. Du wirst festellen, das du kein IF-Else mehr brauchst. Das einzige was gegeben sein muss, ist das deine includes die Namen der Werte haben, die du in area übergibst.

        Das einzige was noch fehlt sind deine Ausnahmen (pgamesbf1942, etc.). Bei den Ausnahmen solltest du dir auch überlegen ob es Sinn macht eine komplette andere Seite (mit head etc.) in deine Seite zu inkludieren.

        Kommentar


        • #5
          zu 3. Wie könnte man es sonst machen wenn nicht eine andere Seite?
          übrigens code ist eingerückt

          Kommentar


          • #6
            Danke, noch als Tipp - wenn du statt 'code' das 'php' tag benutzt wirds auch noch schön bunt.

            Naja, für die externen Seiten sollte einfach nur ein Link in deinem Mneü stehen, dem der Besucher (auch google) einfach folgen kann. Wenn deine Seite nicht verschwienden soll mach halt einfach noch ein target="_blank" dazu.

            PHP-Code:
            <ul>
              <
            li>
                <
            a href="index.php?area=news" title="Zu den News">News</a>
              </
            li>
              <
            li>
                <
            a href="index.php?area=info" title="Hier gibts Infos">Infos</a>
              </
            li>
              <
            li>
                <
            a href="http://www.blub.de/disclaimer.htm" title="Das rechtliche" target="_blank">
                  
            Disclaimer
                
            </a>
              </
            li>
            </
            ul

            Kommentar


            • #7
              Hmm Gute idee Danke.
              Jetzt mal zu den Bildern (sollten um die 500 sein). Wenn ich die index.htm von dem einzelnen Spiel von dem die Bilder angezeigt werden sind in einem unterordner. Mit include geht da natürlich nix. Aber bei 500 Bildern wird beim 20. Bild lästig wenn man den Pfad ändern muss. Wollte eigentlich schon das es auf der hauptseite kommt also nicht mit "_blank". Leider habe ich keine Ahnung wie sowas gehen soll also eine alternative in PHP versteht sich zu include. Hatte vorher Inlineframes drinn.....

              Kommentar


              • #8
                anstatt der ganzen if-abfragen kannst du auch einfach switch benutzen
                Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                var_dump(), print_r(), debug_backtrace und echo.
                Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                Kommentar


                • #9
                  Original geschrieben von Shurakai
                  anstatt der ganzen if-abfragen kannst du auch einfach switch benutzen
                  Danke war aber leider keine Antwort auf meine letze frage

                  Kommentar


                  • #10
                    login bereich (admin) das das dann nicht in der mitte eingefügt wird sondern entweder neues fenster oder gleiches fenster aber eben nicht in der mitte
                    Du meinst irgendwie mit Frames ? PHP hat keine Vorstellung von Frames, das kann so nicht gehen. Du kannst PHP kein HTML Target für das Laden des Inhaltes angeben. Wäre schön geht aber nicht.
                    Wenn es nur um das mittige geht, dann musst du sicherstellen, dass die zu inkludierende Datei kein komplettes HTML Gerüst liefert. Als Inhalt alles nach dem body Tag. Dann gibst du vor der include Anweisung einfach noch ein <div align="center"> und schliesst dieses nach dem include wieder.

                    Wenn du aber etwas anderes meinst, dann spezifizier das doch bitte etwas ausführlicher.

                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      Ich möchte wissen wie man so etwas professioneller macht. Macht man dann wirklich für jede seite ein eigenes include. Ich müsste dann halt bei allen bildern sind um die 500 den pfad ändern das macht ganz schön arbeit!!!!

                      Kommentar


                      • #12
                        Hat hier denn keiner mehr eine Idee??? Ich verstehe das Skript von dem einem leider nicht

                        Kommentar

                        Lädt...
                        X