Autor |
Nachricht |
torkel
Threadersteller
Dabei seit: 13.07.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 17.07.2005 16:43
Titel menu aktualisieren mit INCLUDE in PHP |
|
|
hallo
ich hab mal eine Frage betreffen PHP und include. Ich habe folgende PHP seite:
Code: | <?php
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";
echo " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
echo "<html>\n";
echo " <head>\n";
echo " <title>Meine Seite</title>\n";
// echo " <link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />\n";
echo " <meta http-equiv=\"Content-Type\"
content=\"text/html; charset=ISO-8859-1\" />\n";
echo " </head>\n";
echo " <body>\n";
echo " <div id=\"root\">\n"; // ganz oberer Div-Holder
echo " <div align=\"center\" id=\"header\">\n"; // header
include "header.php";
echo " </div>\n";
echo " <div id=\"links\">\n"; // linkes Menu
include "menu.php";
echo " </div>\n";
echo " <div id=\"mitte\">\n"; // In der Mitte der Inhalt
include "inhalt.php";
echo " </div>\n";
echo " <br style=\"clear:both;\" />\n"; // css-float beenden
echo " </div>\n";
echo " </body>\n";
echo "</html>\n";
?> |
ich habe oben ein Header, auf der seite ein Menu und in der mitte ein inhalt. bis anhin hab ich es so gemacht, dass wenn ich auf ein link im menu geklickt habe, dass er diese seite komplett neu geladen hat einfach mit einem anderen include für inhalt.php. dies funktioniert eigentlich, aber mittlerweile habe ich zuviele dateien. wie könnte ich dies einfacher lösen???
wie es genau funktionieren sollte: es geibt drei verschiedene menus für den normalen benutzer, den angemeldeten benutzer und für den admin. wenn sich der jeweilige user anmeldet, sollte sein menu sichtbar sein, plus solten die links, die er in seinem menu ausgibt in der mitte ausgegeben werden. wie gesagt, bis anhin hab ich für jede person ein menu, das brauch ich ja auch, hab dann aber für jede person wieder eine einzelen seite machen müssen, für jeden link die die person im menu hat, da ich ja die seite oben immer wieder aktualisieren.
ich hoffe ihr versteht mein problem und hoffe, dass ihr mir ein paar gute tips geben könnt.
thanxx / torkel
|
|
|
|
|
alfamaennchen
Dabei seit: 09.01.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 17.07.2005 17:52
Titel
|
|
|
Warum machst Dus dir so kompliziert?
Hau doch die Inhalte in ne Datenbank!
|
|
|
|
|
Anzeige
|
|
|
torkel
Threadersteller
Dabei seit: 13.07.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 17.07.2005 17:57
Titel
|
|
|
und wie mache ich dass denn genau? kannst du mir da ein paar tips geben? keine ahnugn wie das funktionieren soll.
greetz
|
|
|
|
|
matschomaen
Dabei seit: 25.05.2004
Ort: -
Alter: 42
Geschlecht:
|
Verfasst So 17.07.2005 20:42
Titel
|
|
|
hi,
das mit den datenbanken ist zwar nett, aber etwas übertrieben find ich...
deswegen hier mal eine andere lösung:
du hast praktisch 3 ebenen: unangemeldet, angemeldeter nutzer und angemeldeter admin.
nun kannst du das über sessions machen... du wirst es ja wohl so machen, dass du die registrierten nutzer und admins in einer datenbank verwaltest.
diesen nutzern und admins kannst du ja auch rollen zuweisen(userrolename: admin, moderator, kunde....)
diese rollen kannst du in der session abfragen, wenn man eingeloggt ist.(z.B. $_SESSION[userId][userRoleName]).
damit weisst du schonmal, wem du welche navigation zeigen kannst...(indem du das in einer if-abfrage machst...)
hoffe, dass cih dir etwas weiterhelfen konnte!
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst So 17.07.2005 21:07
Titel
|
|
|
Naja so ganz ohne ist das fürn Anfänger aber auch net, da musst du ja schon mit Tabellenverknüpfungen arbeiten und so.
Du brauchst quasi eine Tabelle in der Datenbank für den Usernamen etc. und dann noch eine referenzierte für die Usergroupdefinitionen.
Beispielabfrage wär dann (fürn Login bspw.) :
Code: |
$query="SELECT * FROM user AS a
INNER JOIN usergroups AS b ON a.grpId = b.id
WHERE a.name='{$userName}' AND a.password=MD5('{$userPassword}')";
|
hab ich jetz wohl net getestet sollet aber klappen.
Damit hättest du beim Login bereits alle Daten und ein Null, wenn PW oder Name falsch sind.
|
|
|
|
|
torkel
Threadersteller
Dabei seit: 13.07.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 17.07.2005 21:18
Titel
|
|
|
also den login und die tabelle mit den usern hab ich schon. login funktioniert einwandfrei, es funktioniert eigentlich alles einwandfrei.. nur muss ich für jeden link eine neue datei haben, wo ich die komplette seite wieder lade. wie kann ich dies lösen, das ist mein hauptproblem.
das menu zuweisen, mit einer if anweisung, das sollte kein problem sein, aber wie aktualisiere ich die dateien in der mitte? also die db ausgaben??? dafür musste ich die seite immer wieder neu laden und dies unter einem anderen namen mit dem inlcude für die gefraget db abfrage.
greetz
|
|
|
|
|
matschomaen
Dabei seit: 25.05.2004
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Mo 18.07.2005 09:32
Titel
|
|
|
hab ich das richtig verstanden:
du hast verschieden inhalte, die aus einer tabelle kommen, also für nutzer und admins getrennt?
dann machs doch über die URL.
also in der navigation die links erweitern (z.B. index.php?article=12 oder so...)
und dann einfach mit $_GET[article] aus der URL holen und dann mit einer WHERE-klausel die daten aus der tabelle holen...
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Mo 18.07.2005 10:26
Titel
|
|
|
Du musst zusätzlich zu deinen Benutzern natürlich auch ne Tabelle mit Berechtigungen anlegen, bzw. im einfachen Fall, die Berechtigung auf Gruppenebene vergeben.
Wenn du alle Informationen nach erfolgreichem Login in ner Session gespeicher hast, kannst du ja ganz simpel in einen HTML-Dateien sagen:
Code: | switch ($_SESSION["grp"]) {
case "Admin":
...
break;
...
} |
Ich würde dir auch empfehlen, zugunsten besserer Lesbarkeit, deinen Quelltext ein wenig sauber zu halten.
Entweder machste
Code: |
echo <<<TXT
<html>
...
<a href="link">linktext</a>
...
TXT;
|
oder direkt
Code: |
<html>
...
<a href="link">linktext<a/>
....
|
Die PHP-Delimiter sind hier absolut unnötig.
Zuletzt bearbeitet von am Mo 18.07.2005 10:30, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
PHP: include in einer include-datei aufrufen? [GELÖST]
php include
ASP Include
[PHP] include
include
[PHP] Include zickt rum!
|
|