Zwei Fragen zu 'include'
Sensei
- php
0 romy0 Sensei0 Sven Rautenberg0 Sensei
0 fant
Grüß euch!
Habe folgende zwei Fragen:
Schafft der <? include 'xxx.xxx' ?> Befehl in webseiten, also dass ich einzelne Teile verschiedener Seiten dazulade (immer den selben Teil in verschiedene Seiten laden) eine Zeitersparnis im Sinna von "wenn immer das selbe geladen wird, liegts schon im Cache und das Laden einer Seite dauert nicht so lange"? Wohl eher nicht, da dasganze Serverseitig abläuft, oder? Wird dann die Datei, welche included wird immer wieder neu geladen, wenn sie von verschiedenen Seiten angefordert wird?
Frage praktischer Natur:
kann ich im include Befehl dann irgendetwas in der Art einbauen:
if (angeforderteSeite = 'main.htm') echo "<br>Hauptseite</br>"
Hab keine Ahnung ob/wie das geht und wäre über Codeschnipsel dankbar.
Also ich will praktisch die eine seite anfordern und die soll dann wiederum aufgrund dessen, von welcher Seite sie angefordert wurde noch zusätzlichen Inhalt zurückgeben.
Anschließend: Ich bin Neuling auf dem gebiet, man möge mir die evtl. dummen Fragen bzw. falschen Codeschnipsel verzeihen.
Thx und ciao, Sensei
Hi,
- Frage praktischer Natur:
kann ich im include Befehl dann irgendetwas in der Art einbauen:
if (angeforderteSeite = 'main.htm') echo "<br>Hauptseite</br>"
Hab keine Ahnung ob/wie das geht und wäre über Codeschnipsel dankbar.
Also ich will praktisch die eine seite anfordern und die soll dann wiederum aufgrund dessen, von welcher Seite sie angefordert wurde noch zusätzlichen Inhalt zurückgeben.
Was spricht dagegen es einfach zu tun?
Warum zusätzlichen Inhalt zurückgeben?
Wenn Du eine Seite includierst, kannst Du beliebig Text davor und danach schreiben, es hat nichts mit dem include zu tun...
zB.
if ($angeforderteSeite = 'main.htm') {
echo "<br>Hauptseite</br>"
include($angeforderteSeite);
echo "und noch mehr Text";
}
oder meinst Du etwas anderes?
zu Frage1: die Seiten werden jedes Mal neu geholt und interpretiert.
ciao
romy
Wenn Du eine Seite includierst, kannst Du beliebig Text davor und danach schreiben, es hat nichts mit dem include zu tun...
zB.
if ($angeforderteSeite = 'main.htm') {
echo "<br>Hauptseite</br>"
include($angeforderteSeite);
echo "und noch mehr Text";
}
Hmmm... hab mich da denke ich unklar ausgedrückt. eigentlich sollte die anfordernde Seite überprüft werden.
Konkret schauts so aus:
Hab 10 Seiten, bei denen ich überall den Kopf und das Menü einfügen will mit include. Das klappt auch wunderbar.
ABER: 3 dieser Seiten haben ein Untermenü, welches dann mittendrin stehen würde beidem angeforderten Teil. Natürlich kann ich das so lösen, dass ich 4 extra seiten schreibe: 1 für die ganzen "normalen" Seiten und dann jeweils nochmal eine für die Seiten mit Untermenü.
Lieber würd ichs aber so machen, dass die Seite, die inkludiert wird checkt von woher sie angefordert wird und im Falle von - sagen wir links.htm - dann eben noch das untermenü bei links mit einfügt.
Kann mir da jemand einen Rat / Codeschnipsel geben um das effizient zu implementieren? Sollte für euch PHP Profis keine Schwierigkeit darstellen, aber ich bin wiegesagt erst Anfänger...
thx & greez aus Wien!
Moin!
Hab 10 Seiten, bei denen ich überall den Kopf und das Menü einfügen will mit include. Das klappt auch wunderbar.
ABER: 3 dieser Seiten haben ein Untermenü, welches dann mittendrin stehen würde beidem angeforderten Teil. Natürlich kann ich das so lösen, dass ich 4 extra seiten schreibe: 1 für die ganzen "normalen" Seiten und dann jeweils nochmal eine für die Seiten mit Untermenü.
Die angeforderte Seite steht z.B. in $_SERVER['REQUEST_URI'] drin. Wenn du basierend auf dieser Angabe if-Verzweigungen ins Include reinschreiben willst: Dem steht nichts entgegen.
Was dein Skript sonst noch so über die aktuelle Seitenanforderung weiß und in welchen Variablen das steht, erfährst du, wenn du mal
<?php phpinfo(INFO_VARIABLES); ?>
in eine Datei schreibst.
- Sven Rautenberg
Danke für die guten Tips!
ich werds dann mal ausprobieren! thx
tach
du kannst zB in den 10 seiten in denen du includes machst eine variable setzen und die im menu abfragen.
oder aber mit $PHP_SELF den namen der "mutter"-datei abfragen
gruss
fant