mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 15:39 Benutzername: Passwort: Auto-Login

Thema: menu aktualisieren mit INCLUDE in PHP vom 17.07.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> menu aktualisieren mit INCLUDE in PHP
Seite: 1, 2  Weiter
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

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
alfamaennchen

Dabei seit: 09.01.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 17.07.2005 17:52
Titel

Antworten mit Zitat Zum Seitenanfang

Warum machst Dus dir so kompliziert?

Hau doch die Inhalte in ne Datenbank!
  View user's profile Private Nachricht senden
Anzeige
Anzeige
torkel
Threadersteller

Dabei seit: 13.07.2005
Ort: -
Alter: -
Geschlecht: -
Verfasst So 17.07.2005 17:57
Titel

Antworten mit Zitat Zum Seitenanfang

und wie mache ich dass denn genau? kannst du mir da ein paar tips geben? keine ahnugn wie das funktionieren soll.

greetz
  View user's profile Private Nachricht senden
matschomaen

Dabei seit: 25.05.2004
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst So 17.07.2005 20:42
Titel

Antworten mit Zitat Zum Seitenanfang

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! Lächel
  View user's profile Private Nachricht senden
Account gelöscht


Ort: -
Alter: -
Verfasst So 17.07.2005 21:07
Titel

Antworten mit Zitat Zum Seitenanfang

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

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
matschomaen

Dabei seit: 25.05.2004
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst Mo 18.07.2005 09:32
Titel

Antworten mit Zitat Zum Seitenanfang

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...
  View user's profile Private Nachricht senden
Account gelöscht


Ort: -
Alter: -
Verfasst Mo 18.07.2005 10:26
Titel

Antworten mit Zitat Zum Seitenanfang

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!
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.