Aufbau eines "Portals"

bootscreen

Grünschnabel
Guten Morgen Leute,

ich habe von meiner Firma den Auftrag bekommen ein firmeninternes Portal zu schreiben.

Nun ist meine Frage wie mach ich das, besser gesagt was ist die "beste" Methode.

Bisher hab ichs so gemacht, das ich eine Index-Seite mit Navi-Leiste hab.
Sobald ich einen Link angeklickt habe, hat ein SQL-Skript geschaut was in der DB steht und jenachdem welcher Name da stand wurde dann diese Datei per Include eingebunden.

PHP:
if ($_GET['id'] == NULL)
{
	$currentid = "1";
}
else
{
	$currentid = $_GET['id'];
}

$sql = 'SELECT template FROM menu WHERE mid = '.$currentid;
$ergebnis = mysql_query($sql);
$ausgabe = mysql_result($ergebnis,0);

include($ausgabe.".php");

Nur ist mir das inzwischen irgendwie zu "nervig" da ich ja bei jeder Datei Session-Kontrolle etc machen muss, da sonst ja jeder von außen die Daten öffnen könnte.

Nun dachte ich das ich vllt, das was in diesen Datein steht einfach Komplett in die Datenbank schreiben könnte und um dann einfach die DB auszulesen.
Nur als ich mich da "informiert" hab, hab ich überall gelesen das dies eine bescheidene Idee ist, da PHP-Funktionen nicht in eine DB gehören da ja, theoretisch gesehen Java oder Delphi nichts mit diesen Befehlen anfangen könnten wenn sie auf diese DB zugreifen würden. Aber mir ist das ja egal da das ganze ja auschließlich für PHP ausgelegt und geschrieben wird / wurde.

Habt ihr vllt eine Idee welches nun eine "gute", sichere und schnelle Lösung ist?
 
so ganz versteh ich nicht, was du willst. ich hab es so gelöst, dass ich einen Baum von menüpunkten erstellen kann. Jeder Knoten von diesem Baum hat eine einmalige id und an diese hänge ich gegebenenfalls artikel an.

wenn nun ein besucher das portal betritt sieht er die oberste schicht des baums. klickt er nun auf ein menü punkt, wird in der db gesucht, ob der menüpunkte weitere menüpunkte besitzt und diese werden dann auf der neu geladen seite angezeigt. sowie artikel, die ebenfalls mit dem menüpunkt verknüpft sind. somit kannst du schnell ein tiefes portal erstellen.

solltest du php code für eine bestimmte seite bzw artikel benötigen, kannst du den mit in die db speichern und später dann mit eval() ausführen
 
Du hast das im Grunde schon richtig verstanden.

Es ist zwar kein Portal wie du es meinst, sondern eher ein Portal für unsere Verwaltung, wo wir z.b. Serviceeinsätze eingeben und die Buchhaltung diese dann buchen und verwalten kann. Das heißt die Seiten bestehen zu 90% aus PHP-Code.

solltest du php code für eine bestimmte seite bzw artikel benötigen, kannst du den mit in die db speichern und später dann mit eval() ausführen
soweit war ich auch. Nur dann habe ich halt gelesen das dies eine ziemlich stümperhafte Idee ist.

Da ja andere Systeme nicht mit dem PHP-Code etc zurecht kämen und man ja nie weiß was die nächste Version von PHP mit sich bringt.

Deswegen war halt die Frage, ob es überhaupt eine "gute" Idee ist die Seiten in der DB zu speichern.
 
ich machs auch und es funktioniert wunderbar. die gefahr besteht eben, wenn sich jmd damit auskennt, dass er da code einfügt, der schädlich ist. ansonsten gibt es da keine probs...
 
Zurück