#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! + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren