psyhead.org


Registrieren/Kennwort vergessen?
Schrift: verkleinern vergrößern





Forenübersicht : PHP / MYSQL / HTML / CSS » 

[php] dynamische Seiten ohne Frames



King of Party
Beiträge: 1342
Online
Profil private nachricht www
#1145 | 29.12.2006 - 15:55:49[Zitieren] [Bearbeiten]
Viele haben sich schonmal gefragt, wie man eine Homepage bastelt und die Unterseiten in die Hauptseite einfügen, ohne dass man Frames (veraltete HTML-Technik) verwendet.
Das Prinzip ist ganz einfach. Dafür verwendet man php ;) *wer hätte das gedacht* Damit muss man auch z.B. nicht das Menü immer mit kopieren/anpassen, wenn sich etwas ändert. Die Vorteile werdet ihr sicherlich erkennen.

Was brauchen wir dafür?
Wir brauche einmal die Hauptseite z.B. index.php
und dort sollen 3 Bereiche angezeigt werden. Dafür nehmen wir einmal die header.php, content.php und footer.php . soweit alles klaro bei euch?

Diese 3 Dateien sollen in der index.php angezeigt werden.
In der header.php stehen unsere Kopfdaten für eine HTML seite drine. Für dieses beispiel jedoch nicht, da es den Rahmen sprengen würde und es nicht bestandteils dieser Anleitung ist.

code

1
2
3
4
5
<?
    
echo "<h1>titel der seite</h1>";
    echo 
"<a href="index.php?content=link1">menulink1</a> | ";
    echo 
"<a  href="index.php?content=link2">menulink2</a>";
?>


Es wird der Titel und das Menü aus 2 Links ausgegeben ;)

Fällt euch bei den links etwas auf?
ok, in der footer.php steht z.B. das copyright drinne. das ist aber uninteressant.
schau wir uns jetzt mal die index.php an!

code

1
2
3
4
5
6
7
<?
        
include("header.php"); //fuegt an dieser stelle header.php ein
    
echo "<hr/>";
    include(
"content.php");  //fuegt an dieser stelle conetnt.php ein
    
echo "<hr/>";
    include(
"footer.php");  //fuegt an dieser stelle footer.php ein
?>


Jetzt lüften wir das Geheimnis der content.php.
Diese Datei sorgt dafür, dass der Link verstanden wird, und die korrekte Seite an dieser Stelle eingefügt wird.

code

1
2
3
4
5
6
7
8
<? 
    
switch($_GET['content'])
    {
        case 
"link1": include "./content/link1.htm" ; break;
        case 
"link2": include "./content/link2.php" ; break;
        default: include 
"./content/link1.htm" ; break;
    }
?>


Im Link steht drinne index.php?content=link1. Die Variable $_GET['content'] geprüft, welchen zustand sie hat und dementsprechend wird per include() die passende Seite eingefügt.
der defautlwert steht für die Seite, die eingefügt wird, wenn die variable $content leer ist.

Vorteil?
Es gibt nur Vorteile. ;) Wenn ihr Seiten einbindet, dann wird der Inhalt übernommen. Man muss eine extraseite nicht mit komplettem html ausrüsten, sondern kann bei text einfach den Text beinhalten. So wie hier im forum könnte man den Text mit einfachen HTML-Befehlen formatieren und es wird so dargestellt.
Wenn ihr CSS verwendet dann, wird euch damit sehr viel Arbeit abgenommen.

Das ganze kann man auch schön erweitern. wenn content euch nicht mehr reicht, dann öffnet content z.B. artikel, wo ihr wieder mit include arbeitet.
der Link wäre dann z.B. index.php?content=artikel&artikel=zeigen

Ich habe diese Dateien für euch nochmal mitgeschrieben damit ihr die sofort ausprobieren könnt.
http://www.psyhead.org/misc/php/php_seiteohneframes.rar

und so schaut es aus:
http://www.psyhead.org/seitenohneframes/

Es soll nicht schick aussehen, sondern nur mal die Funktion etwas verständlich machen. Der Code ist geprüft und Funktioniert!!!

hf
- Der Merkel Effekt: Mehr Brutto verdienen, weniger Netto kriegen.
- Das Leben ist zu kurz für lange Kabelwege
Registriert seit: 1126d 15h 49m ( 06.08.2005 )




Profil private nachricht www
29.12.2006 - 15:55:49
Um die Werbung auszublenden, einfach kostenlos registrieren. Für Mitglieder ist die Werbung nicht sichtbar!





Wer ist online?
Insgesamt ist ein Benutzer online. [ Administrator ]   [ Moderator ] 
psyheadmännlich

Besucher die letzten 24h
psyheadmännlich MaMaaaCHenweiblich nadineweiblich
Heute hat Geburtstag:
Kettemännlich
Pfeil Statistik

Die Seite drucken Seite drucken Die Seite einem Feund empfehlen Seite weiterempfehlen
Wer ist online?
Ein Benutzer online
Benutzer der Wochetatsachemännlich erreichte letzte Woche 129 Punkte
[Verlauf]
Neuzugang
Community StatistikBeiträge: 3.341
- Heute: 10
- Woche: 42
- Monat: 71
Themen: 235
- Heute: 0
Benutzer: 92
mmännlich/wweiblich: 67/25
Heute Online: 3
jetzt Online: 1
Private Nachrichten: 129
PNs letzten 24h: 0
Zufallsbild

http://www.psyhead.org/lans/08-04-2006_menzi/Bild111.jpg

188 Aufrufe
0/10 Punkte bei 0 Stimmen
0 Kommentare
Links
Werbung
.