Wie soll man bei Webseiten mit vielen Seiten vorgehen?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von BladeFire, 4. April 2015 .

Schlagworte:
  1. 4. April 2015
    Hallo,

    zurzeit habe ich es größteil so geregelt, dass man zwischen den einzelnen Unterseiten mithilfe eines querys navigiert:
    "index.php?seite=kontakt","index.php?seite=impressum","index.php?seite=suche","index.php?seite=suche&unterseite=sortiertnachbewertung","index.php?seite=suche&unterseite=sortiertnachdatum" usw...

    Dazu habe ich im veränderlichen Teil meiner Webseite abgefragt wie es mit dem query ausschaut und mit $_GET immer eine andere seite eingebunden bsp:
    PHP:
    <div id="content">
     <?php
                
    if (isset( $_GET [ 'iddokumentationen' ]))
                {
                    include(
    "dokumentation.php" );
                }
                elseif (isset(
    $_GET [ 'site' ]) and  $_GET [ 'site' ] ==  "memberarea"
                {    
                        include(
    "memberarea.php" );
                }
                elseif(isset(
    $_GET [ 'site' ]) and  $_GET [ 'site' ] ==  "kontakt" )
                {    
                 include(
    "kontakt.php" );    
                }
                elseif(isset(
    $_GET [ 'site' ]) and  $_GET [ 'site' ] ==  "impressum" )
                {
                  include(
    "impressum.php" );
                }
                elseif( isset(
    $_GET [ 'site' ]) and   $_GET [ 'site' ] ==  "erweitertesuche" )
                {
                   include(
    "erweitertesuche.php" );        
                }
                elseif( isset(
    $_GET [ 'Niemalszutreffend' ]) and   $_GET [ 'Niemalszutreffend' ] ==  "lucky" )
                {
                   include(
    "suche_lucky.php" );        
                }
                else
                {
                   include(
    "startseite.php" );
                }        
    </
    div >    

    ?>        
    Ich hatte es auch schon mal probiert das ich das menü den footer und das ganze unveränderliche per include beim veränderlichen einbinde. bsp:
    PHP:
    <? php
    include( "header.php" );
       echo 
    'Sie sind im Memberbereich' ;
    include(
    "footer.php" );

    ?>
    Das Problem bei den beiden methoden ist, das ich den html header nicht auf den content abstimmen kann, da ich zum zeitpunkt des erzeugens des html headers noch nicht den Content den ich mittels $_GET bestimme ausgelesen habe.

    Ich habe es auch schon probiert das ich eine $content variabel gemacht habe, wo ich den text, der später der <div id="content"> box stehen sollte gespeichert habe. bsp:
    PHP:
        $content := '';
            if (isset($_GET['iddokumentationen']))
                {
                    include("dokumentation.php");
                }
                elseif (isset($_GET['site']) and $_GET['site'] == "memberarea") 
                {    
                        include("memberarea.php");
                }
                elseif(isset($_GET['site']) and $_GET['site'] == "kontakt")
                {    
                 include("kontakt.php");    
                }
                elseif(isset($_GET['site']) and $_GET['site'] == "impressum")
                {
                  include("impressum.php");
                }
                elseif( isset($_GET['site']) and  $_GET['site'] == "erweitertesuche")
                {
                   include("erweitertesuche.php");        
                }
                elseif( isset($_GET['Niemalszutreffend']) and  $_GET['Niemalszutreffend'] == "lucky")
                {
                   include("suche_lucky.php");        
                }
                else
                {
                   include("startseite.php");
                }        
    <head>

    </head>

    <body>          
    <div id="content">
     <?php
        
    echo  $content ;
    </
    div >    
    ...
    Hierbei hat es mich irsinig generft das ich jedesmal "$content .=" schreiben musste.

    Wie geht ihr bei solchen sachen vor?

    Und wie komme ich am einfachsten, das im header daten des veränderlichen contents stehen, die ich erst im body definiert habe (nach der methode nr1)?

    Danke schonmal!
     
  2. 5. April 2015
    AW: Wie soll man bei Webseiten mit vielen Seiten vorgehen?

    Moin,

    bei einem Vergleich mit String kannst du dir das isset($_GET['site']) and sparen.
    Einfacher
    Code:
    switch($_GET['site']){
     case 'kontakt': include("kontakt.php"); break;
     ...
     default: include("startseite.php"); break;
    }
    Ein Tipp, smarty PHP verwenden da erstellst du dir dann auch ein header und footer template und bindest diese dann in die jeweiligen site templates ein.
     
  3. 6. April 2015
    AW: Wie soll man bei Webseiten mit vielen Seiten vorgehen?

    Seit wann ersetzt ein string Vergleich ein isset() ?
    Es würde mehr Sinn machen isset() einmalig zu überprüfen und darin dann ein Switch-Statement zu basteln.

    BTT:

    Idrl. separiert man Logik von der Präsentation.
    D.h. man führt vor der ersten Ausgabe (HTML/TEXT ...) bereits alle notwendigen Aktionen durch und erzeugt dann den HTML Quelltext mit PHP.

    Mehr dazu:
    MVC mit PHP - Das MVC-PAttern mit PHP implementieren und verwenden
    MVC und PHP – Kurz und knackig erklärt
    Tutorial - MVC - WinFuture-Forum.de
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.