<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[missing Forum — PHP statt iframe]]></title>
	<link rel="self" href="https://forum.missingno.de/feed/atom/topic/40/" />
	<updated>2006-03-09T12:05:41Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.missingno.de/topic/40/</id>
		<entry>
			<title type="html"><![CDATA[PHP statt iframe]]></title>
			<link rel="alternate" href="https://forum.missingno.de/post/64/#p64" />
			<content type="html"><![CDATA[<p>Weil ich schon des öfteren gefragt worden bin, wie man eleganterweise auf iframes verzichten kann, hier eine kleine Erklärung.</p><p>Im folgenden gehe ich davon aus, dass man eine Seite haben möchte, die den Inhalt wie bei einem iframe in einem Container-Element hat und natürlich verschiedene Links um auf die &quot;Unterseiten&quot; zu kommen. Die &quot;Unterseiten&quot; benenne ich einfach mal mit seite1.htm, seite2.htm usw.</p><p>Die <strong>index.php</strong> sollte in etwa so aussehen:<br /></p><div class="codebox"><pre><code>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Titel der Seite&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;
/* hier werden die StyleSheets für das Dokument definiert */
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;linkliste&quot;&gt;
&lt;a href=&quot;index.php?id=1&quot;&gt;Seite 1&lt;/a&gt;
&lt;a href=&quot;index.php?id=2&quot;&gt;Seite 2&lt;/a&gt;
&lt;a href=&quot;index.php?id=3&quot;&gt;Seite 3&lt;/a&gt;
...
&lt;/div&gt;
&lt;div class=&quot;seiteninhalt&quot;&gt;
&lt;?php
switch ($HTTP_GET_VARS[&#039;id&#039;]) {
  case 1:
    include(&quot;seite1.htm&quot;);
    break;
  case 2:
    include(&quot;seite2.htm&quot;);
    break;
  case 3:
    include(&quot;seite3.htm&quot;);
    break;
// usw.
  default:
    include(&quot;seite1.htm&quot;);
}    
?&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre></div><p>Wie man sehen kann wird bei den Links lediglich die gleiche Seite mit einer neuen <em>id</em> geladen. Diese <em>id</em> wird im PHP-Teil dazu verwendet die entsprechende Datei einzufügen.<br />Die HTML-Dateien (seite1.htm, seite2.htm) sind eigentlich keine vollständigen HTML-Dokumente. Sie enthalten lediglich das, was in dem Container stehen soll. Also zB<br /><strong>seite1.htm</strong>:<br /></p><div class="codebox"><pre><code>&lt;p&gt;&lt;b&gt;Willkommen auf meiner Seite!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Hier gibt es bisher nicht viel zu sehen. ;)&lt;/p&gt;</code></pre></div><p>Mittels der Klassen &quot;linkliste&quot; und &quot;seiteninhalt&quot; lassen sich die beiden div-Container problemlos über CSS anpassen. Für &quot;seiteninhalt&quot; empfiehlt sich je nach Größe des Inhalts und des Containers auf jeden Fall &quot;overflow:auto;&quot;.</p><p>Ich hoffe, dass die Erklärung ausführlich genug ist und euch etwas nützt. <img src="https://forum.missingno.de/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></content>
			<author>
				<name><![CDATA[missingno]]></name>
				<uri>https://forum.missingno.de/user/2/</uri>
			</author>
			<updated>2006-03-09T12:05:41Z</updated>
			<id>https://forum.missingno.de/post/64/#p64</id>
		</entry>
</feed>
