Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Grundsatzfrage zu includes





Frage

Hi, ich mache gerade eine neue Seite und mir ist noch nicht ganz klar, wie ich mit den einzelnen includes umgehen muss. Ich habe einen Navibereich den ich include und einen Contentbereich (oder auch ein paar mehr). Macht man es nun so, dass man im Prinzip nur eine index.php hat, in der die navi included ist und je nach geklicktem link eine andere content datei included wird? Falls ja, prüfe ich dann in der index.php fix ab (if cPath=1 dann include kontakt.php) oder packe ich die ganzen Seitennamen in eine Tabelle und durchforste die dann nach der Variablen (cPath) die übergeben wurde...und falls man das so macht, wie stehts mit der performance, da ja immer in der db nach der Datei nachgeschlagen werden muss. Oder aber macht man das ganze so, dass man seine ganzen einzelnen content dateien (kontakt.php, bestellung.php usw.) aufruft und in denen wird wiederum die navi included...wäre doch eigentlich besser oder nicht? Vielen Dank für eure Antworten Christoph

Antwort 1 von DeluxeStyle

also ich weiß zwar ned, was standard ist, aber ich hab es bei einer Seite so gemacht, dass ich die Navi in jede Seite include habe.

Damit muss ich an der Navi nur einmal was ändern, und dann ist es gleich bei allen

wir machen das auch so in meinen Job als Werkstudent, und da machen wir für wirklich große Frimen die Pages und daher ich hab das auch so gemacht

siehe www.zionicsoundsystem.de

Antwort 2 von Adik

Gut, so erscheint´s mir irgendwie auch am einfachsten. Vielen Dank für die schnelle Antwort!

Christoph

Antwort 3 von halfstone

Hi Adik,

wie man das macht kann ich dir auch nicht sagen, nur eines, wenn du alles in eine index.php machen willst, die dann nur je nachdem welcher Pfad aufgerufen wird anderen Content includet, hat das auch Folgen für die Indizierung in Suchmaschinen.

Daher würde ich das auch so machen wie DeluxeStyle das vorgeschlagen hat. Im alten Supportnet haben wir das natürlich auch so gemacht.

Beim neuen gibt es keine "normalen" includes mehr da die Technologie eine andere ist.

Gruß Fabian

Antwort 4 von Adik

Alles klar und vielen Dank noch mal!

Antwort 5 von salzi

Hi,
Und nun mein Senf, da ich mich gerade genau durch den selben mist gequaelt habe, und mir auch keine reine vernuenftige antwort geben konnte.

Also, beide Varianten von dir gehen, aber die erste ist die sinnvolere. So, nun weiss ich nicht wie gut deine PHP kenntnisse sind, aber was du mit der Tabelle meintest macht man mit einer swith abfrage. Dann kannst du mit $get[ ] ein parameter ueber die url uebermitteln, und davon abhaengig wird dann der fall ausgewaehlt. Dass ist allerdings sehr umstandlich, da du alles seinten die du hast, in dem Switch listen musst.
(Auch so, also wenn schon inlucest du den Inhalt, in eine Datei, die Navi Haed und Foot usw. hat.)
Die etwas bessere Variante ist, eine index.php zu bauen, die alles kontrolliert. In sie bindet man dann semtliche Navis und Header so ein wei man sie gerade haette, den Ihnalt natuerlich auch. Falls du nun ein paar mehr seiten hast, musst du dir eine logik ueberlegen, wei du ein gewisses Templat anhand der in der URL uebergegenen Paramter includest. Dafuerg gibt es wohl keine Patentloesung. Aber du solltest auf jeden Fall mit so genanntem Cross Site Scripting aufpassen (das ist sicherheitsrelevant, da sonst jemand an deine URL ein anderen Parameter haengen koennte, und so deine Index.php dann ploetzlich ein fremdes Sript ausfuert, was lustige dinge machen koennte.)
Heise.de hat neulich auf den Sicherheitsfelhler aufmerksam gemacht, und php-forum hat dann einen Forschlag veroeffentlicht, an den ich mich gehalten habe. Da ich aber ein paar mehr Templates habe, die nicht alle in einem Ordner sein sollen, habe ich das soweit ausgebaut, dass sorar der Ordner pfad mit uebergeben wird.
Unhand diesem kannst du dann gleich noch so ein "Du bist hier: link link" machen.
Ich hatte das ganze schon mal in einem anderen Forum duch, da siehst du tausen Vorschlaege, aber meiner am schluss ist wohl nicht schlecht (hat mir zumidest jemand "vom Fach" gesagt) (allerdings im Forum noch nicht fertig)
(http://www.tutorials.de/tutorials202537.html)
Wie das ganze aussehen kann kanst du mal auf www.salzinet.com/php/index.php nachschauen, abet ist noch im aufbau.
Der Vorteil ist ganz klar, dass wenn du alles in einer Datei kontrollierst, sich aenderungen usw. einfach fornemen lassen. Da bei mir am Ende jede seite im Hauptverzeichniss ist, muss ich mich nicht um relative pfade kuemmern usw.
Den Titel zB kannst du per Variabler mit in die Index.php uebergeben, genauso wie die Metainfos. Allerdings kuemmert sich Google zB ueberhaupt nich um Metatags.
Und denn Ihalt von Includeten seiten bekommen die auch mit, da es wohl egal ist, ob er sourcecode fuer einen Browser oder einen Robot gebaut wird.
Viel Gleuck, Salzi

Antwort 6 von Nicolas

Zitat:
packe ich die ganzen Seitennamen in eine Tabelle und durchforste die dann nach der Variablen (cPath) die übergeben wurde...


pack doch direkt den content in die DB und nicht die Dateinamen wo die Inhalte drinnen sind.

schau dir auch mal so ein template system wie smarty an. Bzw wenns nicht nur 10 Seiten oder so sind und du eh PHP und mysql zur verfügung hast kannst du dir auch ein kleines cms anschauen, ich nutze gerade z.B. Jetbox One, allerdings nutzen die in den beiligenden beispiel templates und in der normalen version der php Dateien layout Tabellen und hauen auch javascript rein, aber wenn man sich da mal nen tag dran setzt hat man das sehr schnell alles raus gehauen (wird auch sehr viel übersichtlicher).

Ein sehr schönes tutorial in dem auch smarty vorgestellt wird ist das Quakenet php tutorial (den ganzen teil über login system und session ids braucht man ja nicht umzusetzen, allerdings ist es sehr anzuraten sie trotzdem mitzulesen, da immer wieder kleine Hilfsfunktionen eigeführt werden die dann in den späteren Schritten einfach angewendet werden)

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: