include und verlinken.......?

Heavenly

Mitglied
Nun gut, ich mache dazu mal einen eigenen Thread auf, weil bei dem alten die Überschrift nimmer so recht gepasst hat.

Ich habe eine Tabelle mit 3 Zeilen auf einer index.php und habe header, footer und dann den Mittelteil wo der Inhalt rein soll includiert.

Im Header wäre nun ein Banner und darunter die Navigation.
Wie müsste der Code denn nun genau aussehen das, wenn ich oben z.B. auf den Link Impressum gehe (die Seite liegt im selben Verzeichnis wie die index.php), die "Startseite" im Mittelteil durch die Impressumsseite ersetzt wird?

Ich habe schon das ganze Forum durchsucht und auch gegoogelt und auch Sachen gefunden, aber ich sehe da absolut nicht durch....
 
Der Link des Menüeintrags verweist auf Dein PHP-Script und übergibt zusätzlich einen Parameter, der angibt, welche Seite includet werden soll. (Bsp.: script.php?seite=forum) Dieser Parameter wird im Script ausgewertet und die entsprechende Datei in die "Mitte" der Seite geladen.
 
Sorry, aber ich kann mir nicht vorstellen wie der Code dazu aussehen soll :(

Das mit dem script.php?seite=forum ist auch soweit klar nur der Rest nicht der noch dazu muss und wie man das ganze löst ohne das Sicherheitslücken entstehen....
 
So geht das ohne Sicherheitslücke:

PHP:
<table>
<tr>
<td>
linkes menü
</td>
<td>
<?php
//Content
$open=$HTTP_GET_VARS['open'];
include('files/'.$open.'.inc);
?>
</td>
</tr>
</table>

weil schon ein Ordner files angegeben ist kann man mit http:// nichts bewirken.
 
Zuletzt bearbeitet:
In dem Script, das den Parameter prüft, holst Du Dir den Parameter aus der Variable $GET['seite'] und prüfst, ob dieser zum Beispiel "forum" lautet. ist das der Fall, includest Du die entsprechende Datei:
PHP:
switch ($_GET['seite']) {
  case 'forum':
    include('forum.php');
    break;
  // ... usw.
}

Die Includes müssen natürlich an der Stelle stehen, an der auch die andere Datei eingebunden werden soll.

snuu
 
Original geschrieben von BlackLordOfDragons
So geht das ohne Sicherheitslücke:

PHP:
<table>
<tr>
<td>
linkes menü
</td>
<td>
<?php
//Content
$open=$HTTP_GET_VARS['open'];
include('files/'.$open.'.inc);
?>
</td>
</tr>
</table>


weil schon ein Ordner files angegeben ist kann man mit http:// nichts bewirken.

$HTTP_GET_VARS wird zwar noch unterstützt, ist aber veraltet. Stattdessen sollte $_GET verwendet werden! Ausserdem schließt Deine Include-Anweisung nicht aus, dass man aus dem Ordner "files" ausbrechen kann!

snuu
 
Danke, danke für die schnelle Hilfe, wo anders hätte man jetzt wohl nen Link zu selfphp um die Ohren geworfen bekommen..

Aber hmm.... wo soll dieser Code denn jetzt hin?
Mir ist unklar wie der Code dem Link zugewiesen wird :confused:
Und muss der Code auf die index.php oder dahin wo der Link ist, also in dem Fall auf die header.htm?

Tut mir leid wenn ich mich blöd anstelle..
 
Der Link verweist auf die Datei, die Header, Footer, Menü und Inhalt includet und ausgibt. und an der Stelle, an der der Inhalt ausgegeben werden soll, prüfst Du den Parameter und includest in dessen Abhängigkeit die unterschiedlichen Inhalts-Dateien.

snuu
 
Bis auf .inc Files kann man nicht ausführen, was einem nicht viel bringt.
Ansonsten kann man noch den . ersetzen.

Das mit dem $HTTP_GET_VARS wusste ich nicht, danke.
 
Aaaaah, vielen Dank jetzt hab ichs endlich begriffen! :)

Das ist ja verschachtelt alles, da muss man erstmal durchsehen hehe
 
Zurück