• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Grundsatzfrage zum Seitenaufbau mit php

  • Ersteller Ersteller Fishmasta
  • Erstellt am Erstellt am
F

Fishmasta

Guest
Hallo Leute,
soweit ich das bis jetzt verstanden habe, sollte eine php-Seite wie folgt aufgebaut sein:

Ich habe z.b. die php-datei contact.php in der meine Kontaktdaten stehen. Header, Footer, Navi etc. sind über include eingebunden. soweit korrekt oder?
D.h. ich erstelle immer die Seiten mit ihrem jeweiligem inhalt und die sachen die sich nicht ändern (header, footer, navi, ...) werden über include eingebunden.

Das problem daran:
alles was ich bis jetzt für meine page gemacht habe wäre für die katz, da ich header, footer, naiv schön in einer datei und mir gedacht habe, kannst ja den content-bereich variable machen.

Kann ich die page aber auch so aufbauen, wie man es mit frames machen würde, d.h. so:
ich habe das Grundgerüst in meiner index.php mit Header, Footer, Navi, Content, usw
Je nachdem auf welchen link ich klicke wird dann im content-bereich die php-datei angezeigt die ich möchte.

Ist ja theoretisch kein problem da es ja auch über include klappten würde.
Aber wie sage ich dem browser, dass er die aufgerufene seite im content bereich anzeigen soll und nicht als komplett neue seite (ich hoffe ihr versteht was ich meine)
Bei frames gibts ja target="..." und somit weiß der browser bescheid aber wie mache ich das mit php?

Ich hoffe ihr könnt mir helfen ahne aber schon übles :sad:
 
Man baut mit PHP die Seiten zusammen und sendet sie als ganzen. Das ist auch völlig in Ordnung so.
 
Natürlich kannst du das auch so machen.
Du musst nicht die Seite in zig kleine Stücke zerschnippeln.
Bei frames gibts ja target="..." und somit weiß der browser bescheid aber wie mache ich das mit php?
Die einfachste Variante geht über Parameter in der URL
Du hast dein Grundgerüst z.B. in der index.php
An der Stelle wo der jeweilige Content erscheinen soll machst du so etwas in der art
PHP:
if(empty($_GET['site'])){
include ("contents/startseite.html")
}else if(file_exists("http://www.deine_domain.de/contents/".$_GET['site'].".html")){
include ("contents/".$_GET['site'].".html");
}
Der passende Link sähe dann so aus
HTML:
<a href="index.php?site=startseite">Startseite</a>
Der Link ruft die index.php, die dein grundgerüst beinhaltet, auf und lädt als Content das Dokument startseite.html, dass sich im ordner contents/ befindet.
Falls kein Parameter übergeben wird, wird ebenfalls die startseite.html aufgerufen

EDIT//
Ganz vergessen den Leerfall mit einzubeziehen
 
PHP:
if(empty($_GET['site'])){
include ("contents/startseite.html")
}else if(file_exists("http://www.deine_domain.de/contents/".$_GET['site'].".html")){
include ("contents/".$_GET['site'].".html");
}
Das ganze muss unbedingt davor geschützt werden, dass ich beliebige HTML-Dateien inkludieren kann (ein einfaches basename() dürfte reichen)!
 
Zu dem Zweck hab ich ja den absoluten Pfad der Domain angegeben.
Oder ist das ebenfalls unsicher? (sarkasmusfrei und ernsthaft interessiert)
 
Wärs nicht auch möglich das ganze dann gleich wunderbar über AJAX zu realisieren?
Also sprich ich hab in der Mitte (oder wo auch immer der Content sein soll) ein div und da lad ich dann je nachdem was geklickt wird den jeweiligen content rein?
 
Möglich ja, aber ob das „wunderbar“ ist, halte ich für fragwürdig.
 
Zuletzt bearbeitet:

Neueste Beiträge

Zurück
Oben