FAQ: Sollte ich Frames benutzen? Gibt es alternativen?

Vorweg: Diesen Artikel hatte ich bisher unter Texte>FAQ und habe ich zwecks Umsortierung hierher verschoben.

Layouts mit Frames oder iFrames sind veraltet und haben große Nachteile gegenüber PHP-Basierten Seiten. Der Grund: Man kann beispielsweise nicht auf eine Seite verlinken, da dann jeweils der Standardinhalt der Frames angezeigt wird und nicht die Seite, die der User gerne verlinkt haben möchte. Entsprechend ist es auch schwer eine Seite in den Lesezeichen zu speichern. Außerdem zählen vor allem Suchmaschinen die Anzahl der Links, die auf die Seite zeigen. Wenn diese jedoch nicht verlinkt werden können sind das sehr wenige links und die Seite taucht sehr weit hinten in den Ergebnissen auf. Auch findet eine Suchmaschine keinen Inhalt in der Frameset-Datei. Das führt dazu, dass die Seite ebenfalls erst weiter hinten auftaucht. Suchmaschinen speichern die Seiten auch teilweise einzeln. Das führt dazu, dass nur eine Seite aufgerufen wird und nicht der Frame-Rahmen.

Die Lösung: einfach

<?php
include("datei.php");
?>

an die Stelle des iFrames setzen. Dadurch wird Der Inhalt der Datei in das Dokument eingefügt. datei.php kann durch jeden anderen Dateinamen ersetzt werden. Die Datei sollte jedoch in HTML geschrieben sein, kann aber ebenfalls PHP-Code enthalten.

Da du das ja sicherlich für mehrere einzufügende Seiten mit dem selben Rahmen machen willst kannst du auch IDs verwenden. Dadurch wird jeweils der entsprechende Inhalt zur ID eingefügt:

<?php
$standart="home";
$page[0]="datei1.php";
$page[1]="datei2.php";
$page["home"]="datei3.php";
//...
//$page[id]="datei";
$id=$_GET["id"];
if($id=="") { $id=$standart; }
include($page[$id]);
?>

Die Links zu den Seiten müssten dann entsprechnd wie folgt aussehen: index.php?id=0 oder index.php?id=home

Als HTML-Link: <a href="index.php?id=1">Text</a>

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>