Website Navigation php include
#1
geschrieben 23. April 2012 - 15:32
ich hoffe mir kann jemand sagen, wie ich am besten eine Website aufbaue, wenn ich nur in einen bestimmten Bereich ne neue datei inkludieren will.
Ich hoffe das war soweit verständlich... am besten sieht man es auf der Seite von "SdH"
www.s-geschwind.de
da sind die unterschiedlichen Bereiche ja mit ner id versehen... wie bewerkstellige ich das am besten?
Anzeige
#2
geschrieben 23. April 2012 - 18:00
Erstmal musst du den Parameter (ich habe der Einfachheitshalber "ID" genannt und einen nummerischen Wert genommen gut nachvollziehbar) übergeben
Die ID werte ich mit folgenden Zeilen aus
<?php # ID-Verteilung siehe include/tpl/navigation #Variabel�bergabe - Vergabe erfolgt �ber "navigation" $id= $_GET["id"]; #Auswerten der Variabeln if($id =="") { include("INCLUDE/1"); } elseif ($id =="1") { include("INCLUDE/1"); } elseif ($id =="2") { include ("INCLUDE/2"); } elseif ($id =="3") { include ("INCLUDE/3"); } elseif ($id =="4") { include ("INCLUDE/4"); } elseif ($id =="5") include ("INCLUDE/5"); else { include("INCLUDE/1"); } ?>
im Nav-Bereich habe ich wiederum die Links direkt mit einer ID versehen. Also entsprechend aus
index.php
ein
index.php?id=1
und soweiter gemacht.
Ist also denkbar einfach
Ob du nun statische Links nimmst wie ich oder das irgendwie via Scripts handhabst kommt im Grunde aufs Gleiche raus. Ist Geschmackssache.
Dieser Beitrag wurde von Stefan_der_held bearbeitet: 23. April 2012 - 18:05
#3
geschrieben 23. April 2012 - 19:05
<php include("einedatei"); ?>
genügen ist aber dann wiederum statisch und nicht für den jeweiligen Fall immer unterschiedlich/dynamisch.
#4
geschrieben 23. April 2012 - 20:02
Damit komme ich sicherlich weiter Wie man eine einzelne Datei da inkludiert, wusste ich. Problematisch wurde es bei den verschiedenen Inhalten...
#5
geschrieben 23. April 2012 - 20:29
elseif { XXXXXXX }nach dem ersten
if { XXXXXXXXXX }folgt. lediglich der letzte "if" MUSS
else { XXXXXXX }heißen.
#7
geschrieben 24. April 2012 - 07:21
switch($_GET['id']) { case 1: include('include/1.php'); break; case 2: include('include/2.php'); break; case 3: include('include/3.php'); break; case 4: include('include/4.php'); break; default: include('include/default.php'); break; }
#9
geschrieben 24. April 2012 - 12:36
// ID $id = filter_var($_REQUEST['id'], FILTER_SANITIZE_NUMBER_INT); // Include if file is there or use a fallback if (file_exists($_SERVER['DOCUMENT_ROOT'].'/include/'.$id.'.php')) { include_once($_SERVER['DOCUMENT_ROOT'].'/include/'.$id.'.php'); } else { // Fallback }
Würde Dir Tipparbeit ersparen und auch noch prüfen ob die jeweilige Datei auch wirklich existiert.
/* edit */
Vielleicht solltest Du dir Deine Page auch mal in nem Validator anschauen - würde sicher nicht schaden:
validator.w3.org
Dieser Beitrag wurde von daarg bearbeitet: 24. April 2012 - 12:44
#10
geschrieben 24. April 2012 - 14:20
Da ist dann if/Else oder Switch/Case besser.
#11
geschrieben 24. April 2012 - 15:36
#12
geschrieben 22. Mai 2012 - 19:48
hab aber noch mal ne Fräge dazu:
Alle Seiten werden ja jetzt in meiner index.php inkludiert... was aber wenn ich auf einer der inkludierten Seiten weitere Links zu anderen Seiten einbaue? muss ich das immer so machen:
<a href="index.php?=weitere_seite">Weitere Seite</a>
oder gibts da ne einfachere Methode?
@daarg
das Prinzip von deiner Variante schnall ich nicht so ganz
#13
geschrieben 22. Mai 2012 - 20:49
Zitat (J000S: 22. Mai 2012 - 19:48)
<a href="index.php?=weitere_seite">Weitere Seite</a>
nicht ganz...
<a href="index.php?id=weitere_seite">Weitere Seite</a>
Schematik:
<a href="[DATEINAME]?[PARAMETERNAME_1]=WERT&[PARAMETERNAME_2]=WERT&[PARAMETERNAME_n]=WERT">Weitere Seite</a>
Diesen Linkaufbau siehst du so ziemlich bei jeder Website die Dynamisch ist als URL
Beispiel zu diesem Tread:
http://www.winfuture-forum.de/index.php?showtopic=196322&st=0&gopid=1741261&#entry1741261
erkennst du die Schematik?
Das "#" teilt der Seite mit: Dokument ist das richtige, Springe zu Anker "entry1741261" - also den entsprechenden Teilbereich direkt anzeigen. Anker kannst du ja recht einfach setzen: http://de.selfhtml.o...ojektintern.htm
Wenn übrigens die Datei die du ansprechen willst immer die ist welche vom Server versucht wird automatisch zu laden (index.php oder ähnlich), dann kannst du diesen sogar weglassen und direkt mit
?[PARAMETERNAME_1]=WERT&......
loslegen.
Is natürlich nicht so optimal weil der Server wieder "denken" darf was du "meinst".
Dieser Beitrag wurde von Stefan_der_held bearbeitet: 22. Mai 2012 - 20:52
#14
geschrieben 22. Mai 2012 - 21:05
Ansonsten ist der Abend zwar schon etwas spät aber im Ansatz hab ich es glaub ich verstanden... werd mich morgen mal etwas enger mit befassen.
Danke
#15
geschrieben 22. Mai 2012 - 21:08
[ot]Übrigens die Grafiken von dir haben bei der druckerei keine Pixelung mehr danke nochmal dazu[/ot]