Frames mit PHP

metno

Erfahrenes Mitglied
Hallo zusammen. Da ich so langsam in PHP einsteige (Würde mich als "Grundlagenkenner+" einstufen), habe ich mich gefragt, ob es mit PHP möglich ist, alle Frames zu einer Seite zusammenzufügen (kompilieren nannt man das doch?).

Bei mir ist es so: Ich habe eine normale PHP Datei erstellt und darin ein iframe in dem der Inhalt dargestellt wird (www.stale-fish.com). Da ich aber Frames hasse, diese für mich aber immernoch die beste und eifachste bekannte Lösung sind, habe ich mich auf die suche nach einer Alterrnative begeben. Dabei bin ich auf die PHP Funktion include gestossen.
Diese entspricht ziemlich genau meinen Vorstellungen, das einzige Problem ist, dass ich den anzeigebereich nicht beschränken kann und dafür scrollbalken einblenden kann. Dann hängt der Teil der nicht Plaz hat einfach unter dem Desing raus. Wie kann ich das Problem lösen? Oder wird für solche Sachen normalerweise eine andere Funktion verwendet, wenn ja welche?

Vielen Dank schon im Voraus.

Gruss metno
 
Hallo,
du könntest die Inhalte aus dem IFrame mit [phpf]include[/phpf] einbinden.

EDIT: Darauf bist du ja schon gekommen :-( .

EDIT2: Wie wäre es mit CSS?

mfg
forsterm
 
Zuletzt bearbeitet:
Code:
gaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanz langer text

Meinst du so was?
Naja, das hat eigentlich nix mit PHP zu tun. Du wählst ja mit PHP nur, was dargestellt wird. Also den Inhalt. Wie es dann angezeigt wird, wird mit HTML/CSS definiert.

;)
 
metno hat gesagt.:
Wie funktioniert das mit CSS?
Hallo,
so vielleicht:
HTML:
<div style="width:300px; height:200px; overflow:auto;">
<p>&nbsp;</p>
<p>Text</p>
<p>&nbsp;</p>
<p>Teeeeeeeeeeeeeeeeeeeesssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttt</p>
<p>&nbsp;</p>
<p>Text</p>
<p>&nbsp;</p>
</div>

mfg
forsterm
 
Ach so. Für die Darstellung verwende ich schon CSS.
Keiner eine Idee mehr mit PHP?
Danke schon im voraus.
 
Zuletzt bearbeitet:
Ach so. Jetzt kapiere ich es. Da ich mich nicht so gut mit CSS auskenne und den benötigten Code immer von DW erzeugen lasse, wusste ich nicht was overflow:auto; bedeutet. Ich habe nun nachgeschaut was es bedeutet und ist genau das richtige. Danke vielmals. Jetzt funktioniert es. Falls doch noch Probleme auftreten melde ich mich wieder.

Gruss metno
 
Wie vermutet gibt es ein werteres Problem. Die Lösung die ich gefunden habe, finde ich etwas unelegant. Dort wo das "Frame" angezeigt werden soll, habe ich folgenden Code:

PHP:
<div id="iframe">
<?php 
if($HTTP_GET_VARS["site"] != "") {
	include $HTTP_GET_VARS["site"]; 
}else{
	include 'home/home.html';
}
?>
</div>

Wenn bei der Navigation auf einen Link geklickt wird (z.B. News) wird man mit folgender Seite verlinkt: index.php?site=news/news.php

Dann muss ich allerdings in der news.php die Bildquellen relativ zur index.php angeben.

Wie macht man so was normalerweise?
 
Falls das news.php-Skript eigenständig ist, kannst du auch die Ausgabe des Skriptes per file_get_contents()- oder readfile()-Funktion in das index.php-Skript einbinden.

Übrigens solltest du den Parameter der einzubindenden Ressource unbedingt validieren und/oder die Rechte zum Öffnen von entfernten Ressourcen (s. allow_url_fopen-Konfigurationsoption) einschränken, da es sonst zu überaus gravierenden Auswirkungen kommen kann. Siehe dazu auch Cross-Site Scripting sowie das Kapitel über den Zugriff auf entfernte Dateien.
 
Zurück