Inhalt über Link mittels include() steuern
chris schneider
- php
0 Tom0 chris schneider0 Tom
0 wahsaga0 chris schneider0 rob
Moin Jungs,
ich hab folgendes Problem.
Ich habe eine Page aufgebaut mit ein
paar Tabellen. Oben den Header unten
Footer und in der Mitte einen
variablen Teil der sich dem Inhalt
in der Höhe anpasst.
Als Startinhalt hab ich einfach ne
php Datei per include() reingemacht.
Jetzt sind da natürlich auch ein paar
Links am Start. Und ich möchte, dass
sich die Inhalte der anderen Unterseiten
auch in dem Variablen Teil öffnen.
Aber ich hab nich so die Peilung wie
das gehen soll. Hatte mal angedacht irgendwas
mit getLink() oder so aber dazu hab ich
zu wenig Ahnung.
Danke schonmal für Eure Antworten im Vorraus.
Hello,
Wie sieht denn Dein Kopfbereich des Dokumentes aus?
DocType
HTML-Head
-- ein paar Metaangaben
-- Titelangabe
-- zugeladene Ressourcen, CSS, JS ...
HTML-Body-Start
-- und ein paar Ausgaben?
Dein Zentralbereich:
Wer weiß, was da steht...
Der "Seitenfuß" des Dokumentes
Wenn Du jetzt "Seiten" über Links referenzierst, dann werden die doch wohl auch vollständige HTML-Dokumente sein, oder? Du müsstest sie also erst von "freischneiden", also nur den Inhalt des Body ausschneiden.
Abgesehen von den technischen Voraussetzungen kann sowas auch eine Missachtung geltender rechte bedeuten. Fremde Inhalte darfst Du auf diese Weise ohne Weiteres nicht einfach einbinden.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Nene keine fremden Inhalte.
Also der Aufbau is folgendermaßen:
----------------------------------
Headerbereich (Banner, Navi, etc.) (Fixe Größe)
----------------------------------
Contentbereich (Inhalt) (Variable Höhe, Breite Fix)
----------------------------------
Footerbereich (Banner, Impressum, etc.) (Fixe Größe)
----------------------------------
So und im Contentbereich ist als Startseite eine
php Datein per include drin (<?php include('main/start.inc.php'); ?>)
So und wenn man nun auf einen Link in der Navi
oder im Footer klickt, soll im Contentbereich
beispielsweise die impressum.inc.php angezeigt werden.
Meine Frage war bzw. ist, wie ich das php technisch
mache, das die impressum.inc.php dann auch im Contentbereich
geladen wird.
Hello,
Meine Frage war bzw. ist, wie ich das php technisch
mache, das die impressum.inc.php dann auch im Contentbereich
geladen wird.
Das eleganteste wäre eine rewrite-Regel am Webserver.
Wenn man dann z.B.
http://www.example.org/impressum/
aufruft, wird durch den Server automatisch
intern z.B. das Script /index.php?show=impressum
aufgerufen und wie man dann in einem solchen Script mit GET-Parametern umgeht, weißt Du ja sicher.
Du solltest allerdings keinsfalls einfach den Parameter zum Dateinamen erklären, sondern musst eine Transformation zwischenschalten.
if (isset($_GET['show']) and $_GET['show'] == 'impressum')
{
include('.includes/impressum.inc.php');
}
elseif(isset($_GET['show']) and $_GET['show'] == 'news')
{
echo get_news(date()); ## als Anregung für eine eigene Funktion
}
else
{
echo "<h1>Willkommen</h1>\n";
}
Die direkte Übernahme des Parameters in den Pfad würde eine Sicherheitslücke aufmachen.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
hi,
Jetzt sind da natürlich auch ein paar
Links am Start. Und ich möchte, dass
sich die Inhalte der anderen Unterseiten
auch in dem Variablen Teil öffnen.
http://tut.php-q.net/frames.html
gruß,
wahsaga
hi,
http://tut.php-q.net/frames.html
gruß,
wahsaga
Supergeil Danke =D
Hi!
Das Tutorial ist natürlich OK.
Allerdings weiß ich nicht, wieso bei der index.php jede einzelne Zeile mit einem echo ausgegeben wird.
Recht mühselig und ein wenig unübersichtlich. Alle Doublequotes müssen escaped und hinter jeder Zeile ein Umbruch mit \n gesetzt werden.
Da würde ich nur an den benötigten Stellen einen PHP-Bereich aufmachen oder einen Heredoc-Bereich einsetzen.
Schöner Gruß,
rob