Portalserver, Seitenaufruf

larsw

Grünschnabel
Hallo zusammen,

ich möchte gerne ein Portal schreiben und weiss nicht so recht wie ich den Seitenaufruf gestalten soll.

Früher habe ich es so gemacht:

index.php?neueseite=abc.php

und ein Frameset aussenherum damit der Laie nicht soschnell manipulieren kann.

Was ich gelesen habe ist noch das man eine Session öffnet und dort jeweils in einer sessionvariable die seite abspeichert und ein PHP_SELF (aufruf auf die eigene Seite) macht und dort mittels session die so übergebenen variable ausliest und mittels case und include die neue seite infügt

#Entschuldigt bitte mein deutsch#

Was für möglichkeiten gibt es denn noch ?

Wie macht ihr das denn so ?


Vielen Dank
Lars
 
Könntest zum Besipiel an deinen Link einen Wert mit Anhängen

zb. so index.php?link=forum

Nun kannst du in der index.php mittels switch oderwie auch immer du das machen willst diese variable $link handhaben.
 
sprich so

index.php?link=forum
PHP:
<?
  switch($_GET['link']){
    case'forum' : include 'forum.php'; break;
    case'forum' : include 'users.php'; break;
  }
?>
Da dies aber quatsch wäre, kannst du auch gleich <? include $_GET['link'].'.php'; ?> machen

Aber der User kann sich das ja auch denken das du dies evtl forum.php nennen wirst, also wäre diese Variante evtl etwas für dich

index.php?link=forum
<?
  include 'mod_'.$_GET['link'].'php';
?>

Oder aber du arbeitest mit Zahlen im link wie index.php?link_id=1. Dann brauchste aber wieder ne swicth.


Ich persöhnlich lege mir immer eine Modul Ordnerstruktur an auf diese ich dann verweise. Man ja ja oft mehrere Module welche wiederrum mehrere Datein besitzt. Um aber die Übersicht zu wahren habe ich pro Modul einen Ordner auf den ich dann Verweise. In jedem Ordner ist dann eine index.php welche dann die Startseite des Modules ist. Finde ich immer recht praktisch.
Link sieht gleich aus und der include Befehl so >> include $_GET['link'].'/index.php'; <<

Wenn du dein Projekt auch modular aufbaust, können mehrere Leute gleichzeit an einem Projekt arbeiten ohne sich gegenseitig ins handwerk zu pfuschen da jeder seinen eigenen Ordner hat.
 
Du könntest das auch ohne switch(); erstellen in dem du eine kleine Abfrage gestaltest.

Beispiel:

Navigation:
PHP:
<ul>
    <li><a href="index.php?site=news">News</a></li>
    <li><a href="index.php?site=artikel">Artikel</a></li>
    <li><a href="index.php?site=forum">Forum</a></li>
</ul>

Dann die Abfrage in der index.php mit anschliessendem include();

index.php:
PHP:
<?php

$allowed_sites = array("news", "artikel", "forum");
if($_GET['site'] && in_array($_GET['site'], $allowed_sites)) {
    include("includes/".$_GET['site'].".inc.php");
} else {
    include("includes/news.inc.php");
}

?>

Da kann dann einer rumprobieren wie er will...

grüße Samuel
 
Zurück