von Jens Gottfried
So manchen Nachteil der beliebten Frames kann man mit Javascript ausbügeln. Zum Beispiel das Nachladen der Navigation oder anderer Seitenteile, wenn eine Seite über eine Suchmaschine aufgerufen wird. Mit PHP klappt das noch besser.
Wer Frames verwendet, hat seine Gründe. Da ist man wenig erfreut, wenn man hört, dass Seiten quasi nackt und ohne Frames geöffnet werden. So lösen Sie das Problem:
Damit das Frameset nachgeladen werden kann, muss jede Inhalts-Datei um folgendes Script erweitert werden:
<?php
$DATEI = "content.php"; #Name der PHP-Datei,
die das Script enthält
if($QUERY_STRING != "") $DATEI .= "?".$QUERY_STRING;
setcookie("FrameInhalt", $DATEI, time()+7200, "/");
if($Frameset != "1")
{
header("Location: ");
exit; #Vorsichtsmaßnahme, damit kein weiterer Code ausgeführt wird
}
?>
In der ersten Zeile geben Sie den Namen der PHP-Datei an. Verwenden Sie dazu den relativen Pfad der Datei zum Frameset. In der nächsten Zeile werden eventuell vorhandene Parameter automatisch angehängt. Danach schreibt das Script den String in ein Cookie (“FrameInhalt”), das später vom Frameset ausgelesen wird. Zuletzt überprüft das Script, ob ein Frameset existiert anhand eines weiteren Cookies.
Wenn dieses Cookie (namentlich: “Frameset”) nicht existiert, oder nicht den Wert 1 hat, wird auf das Frameset umgeleitet.
Wichtig! Dieses Script muss ganz am Beginn der Seite stehen, da sonst ein unerfreulicher Fehler auftritt: “Headers already sent!”
Die Datei mit dem Frameset muss ebenfalls modifiziert werden:
<?php
setcookie("Frameset",
"1", time()+7200, "/");
if(!isset($FrameInhalt)) $FrameInhalt
= "haupt.php";
?>
Dieses Script setzt zuerst das Cookie, welches von den Inhalts-Dateien abgefragt wird. Danach prüft das Script, ob bereits ein Frameinhalt vorgegeben ist. Wenn dies nicht der Fall ist, wird die Startseite als Frameinhalt festgelegt, deren Pfad/Dateinamen Sie beliebig anpassen können.
Zuletzt muss die Datei noch im Frameset angezeigt werden:
<frame name="content" src="<?php print
$FrameInhalt; ?>" scrolling="auto">
Die Vorteile dieser Lösung:
Der Besucher bekommt davon nichts mit, da alles serverseitig abläuft. Frames werden erzwungen. Javascript kann der Besucher deaktivieren, PHP nicht.
Die Nachteile:
Cookies müssen akzeptiert werden.
Weitere Beiträge:
- 5 Ideen wie Sie wiederkehrende Arbeitsschritte & Marketingprozesse gewinnbringend im Internet automatisieren! Ein Gastbeitrag von Robert Nabenhauer.
- Wachstum durch Facebook-Gewinnspiele: Wie Sie über Facebook virale Gewinnspiele & eine schnell wachsende Fangemeinde aufbauen
- Wie Sie aufmerksamkeitsstarke Prelaunch-, Launch- und Relaunch-Szenarien aufbauen und dabei Viralität, Spannung & Kaufkraft erzeugen
- Wie Sie waschechte Iphone-Apps mit PhoneGAP entwickeln, um am lukrativen App-Markt mitzumischen
- Wie Sie Ihr Shop-Sortiment so präsentieren, dass der Kunde in Zukunft mehr findet und eher kauft! Ein Gastbeitrag von Nicolas Schmidt-Voigt.
- 11 faszinierende BuddyPress-Plugins, um kostenlos aus WordPress ein soziales Netzwerk zu zaubern
- Die Vorboten einer neuen Internet-Industrie! Ein exklusiver Rückblick & Blick hinter die Kulissen der Clickbank-Exchange 2011 in New York.


Das Frameset nachladen klappt gar nicht man bekommt zwar die Index geladen aber nicht die entsprechende main seite um die es geht wo im ganzen Script-wirwar wird den eigendlich das Cookie ausgelesen das die entsprechende PHP-Seite setzt.
gut und schön aber nicht anwendbar