Navigation mit PHP
Hi,
mein erster Post in diesem Forum... und mit Sicherheit nicht der letzte ;) Ich hab jetzt mit Hilfe des Buches PHP5/MySQL5 von Matthias Kannengieser eine Navigation hinbekommen. Hier mal der Code in der ID Navi: Code:
<div id="navi"> Code:
<div id="content"> 1. Wie und was muss ich ändern oder hinzufügen damit in der Navi, wenn ich auf eine Kategorie klicke (z.b. Bewerbung) und dann auf eine Unterkategorie das dann die Kategorie trotzdem offen bleibt. Bis jetzt hat sie sich immer geschlossen. 2. Wie kann ich die Unterkategorien weiter links stehen lassen ? Im Moment sind die nämlich bei manchen Seiten zuweit rechts ^^ 3. Ich hab jetzt schon von einigen gehört, das das includen durch ?s= "unsicher" sein soll. Wie kann ich des also machen das oben in der adressleiste diese Variante steht domain.de/bilder/galerie1 ohne das in den ganzen Dokumenten die Div's definiert werden müssen ? Ich hoffe ihr könnt mir helfen und lest das hier immernoch, nicht das ihr abgeschreckt wurdet von meinem langen Text ^^ Danke mfg Sirius |
AW: Navigation mit PHP
weiß den keiner was dazu ?
das hier ist doch ein großes Forum mit vielen "könnern" ^^ |
AW: Navigation mit PHP
Hallo,
1. Du könntest eine zweite Variable anlegen mit der du durch die Unternavigation gehst. Du musst dann nur noch die zweite foreach-Schleife anpassen. PHP-Code:
HTML-Code:
<ul>Lebenslauf</ul> 3. Ein include('./'.$_GET['s'].'.php'); ist wirklich sehr unsicher, da JEDER die Variable in der URL einfach ändern kann und so beliebige Dateien auslesen und damit auch PHP-Code ausführen kann. Da musst du mindestens noch eine Whiteliste mit zulässigen Werten für $_GET['s'] anlegen und abfragen. |
AW: Navigation mit PHP
Hiho,
zu 1. Im Prinzip hast Du zwar eine variable Lösung programmiert, diese durch den Sonderfall des Untermenüs aber doch wieder starr und unflexibel gestaltet. In diesem Fall hätte man sich das Prinzip der Arrays letztendlich doch wieder sparen können. Um Dein ursprüngliches Konzept, das Menü aus einem Array zu erzeugen, beizubehalten, dürfte es nur ein Array geben das alle Menüpunkte umfasst. Z.B. so: PHP-Code:
Mit diesem Prinzip schlägst Du zwei Fliegen mit einer Klappe. Zum einen kann man aus diesem Array das komplette Menü erzeugen, zum anderen kannst Du Dich leicht aus Deinem Problem zu Frage 3 retten (dazu später). Das Hauptmenü ist schnell erzeugt. Du musst nur das Array der Reihe nach durchgehen und alle die Elemente ausgeben, deren parent = '' ist. PHP-Code:
PHP-Code:
Diese Routine gibt jetzt leider noch keine Untermenüs zu Untermenüs her. Das zu erweitern habe ich Dir überlassen :) 2. Zu Deinem Problem mit der Position der Untermenüs hat ja Fabian schon etwas geschrieben. Ansonsten ist das wohl eher ein CSS-Problem, und kein PHP-Problem. 3. Wie Du schon richtig erkannt hast, ist der Aufruf einer über $_GET erhaltenten Variable in einem include nicht sehr schön bzw. bedeutet sogar eine Sicherheitslücke. Davor kannst Du Dich aber ganz einfach schützen, indem Du die Variable auf Gültigkeit prüfst. Wenn diese keinen von Dir definierten Wert enthält, dann setzt Du sie neu. Diese Werte hast Du im Prinzip schon definiert. Und zwar in Deinem Array $menu. Die Schlüssel (Keys) des Arrays sind alle erlaubten Werte für $s. Diese Schlüssel erhälst Du mit dem Befehl array_keys und ob $s enthalten ist kann man mit in_array prüfen. PHP-Code:
So, und jetzt viel Spaß beim Umsetzen :) Grüße Kai |
AW: Navigation mit PHP
Danke Eskayp,
klappt 1a ;) Vielen Dank. Nur mit dem CSS komm ich nicht wirklich weiter. :( <li> lässt sich nicht formatieren. das <ul> geht ... vllt. wisst ihr da noch was ? Code:
.menuliste { und .untermenuliste sind die Unterpunkte -a also <il> |
AW: Navigation mit PHP
Naja, dafür ist das das falsche Forum hier.
Ich verweise mal auf die Listenformatierung bei SelfHTML und natürlich allgemein auf die Möglichkeiten von CSS. Für ein paar Anstöße ist vielleicht www.css-menü.de ganz hilfreich. Übrigens auch eine interessante Alternative für Hover-Effekte ist dieses CSS-Menü, das nur ein Bild für beide Zustände (MouseOut und MouseOver) verwendet. Ansonsten müsste man schon ganz genau wissen, wo das Problem liegt und wie es bei Dir aussehen soll, um weiter zu helfen. Grüße Kai |
AW: Navigation mit PHP
Danke ;)
Werde auf den Seiten mal schauen. Aber das Design ist eh noch nicht ganz fertig, werde wenn ich mit dem php teil endlich mal fertig bin danach schauen ^^ übrigens ist schon wieder ein neuer thread in diesem Board von mir veröffentlicht worden :P bin halt noch ein nicht soguter Anfänger :( mfg Sirius |
AW: Navigation mit PHP
Zitat:
Ändert sich aber schnell ... |
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:27:47 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.