php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.01.2012, 17:47  
Neuer Benutzer
 
Registriert seit: 02.01.2012
Beiträge: 5
PHP-Kenntnisse:
Anfänger
piano befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] include und -aktuelle Seite-

Hallo zusammen,

Da es mein erstes Posting ist, ein paar einleitende Worte. Seit einiger Zeit arbeite ich mich in php ein und bin begeistert von den Möglichkeiten. Meine eigene automatisierte Bildergalerie habe ich auch schon geschrieben und es funzt ganz gut. Nun möchte ich aber nicht nur so programmieren, dass es funktioniert, sondern auch so, dass es praktisch und "schön" ist. Daher meine Frage:

Um Navigations-Links schnell und für alle Seiten einheitlich zu ändern, sollen die Links, die in einer Textdatei stehen, auf jeder Seite per include-Befehl eingebunden werden. Soweit klappt das ja auch ohne Probleme. Doch ich hätte gerne, dass der aktuelle Link (also der Link der Seite, die aktuell sichtbar ist) in der Navigationsleiste per CSS eine andere Farbe zugewiesen bekommt, so wie hier:

PHP-Code:
<div id="navi_links">
<
ul>
<
li><a href="index.php">Zitat des Tages</a></li>
<
li id="aktuell"><a href="ueber.php">Über mich</a></li>
<
li><a href="webdesign.php">Über diese Seite</a></li>
<
li><a href="neues.php">Neues</a></li>
</
ul>                            
</
div
Doch beides bekomme ich nicht unter einen Hut. Ich denke, dass man dann Variablen übergeben muss und mit GET wieder abhole, dann mit CASE auswerte usw...bisherige Versuche schienen mir jedoch alle zu kompliziert und endeten im Spaghetti-Code, den ich vermeiden möchte. Bestimmt hat der ein oder andere eine "schöne" Lösung parat. Gruß und vorab Danke.

Jochen
piano ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.01.2012, 18:16  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Willkommen im Forum!

Damit Du hier nicht mit dem falschen Fuß einsteigst beherzige bitte diesen Thread.
Wichtige Punkte:
  • Wir helfen gern, wenn Du Initiative zeigst. Macht mal ist nicht.
  • Bitte benutze die Code-Box-Buttons und poste relevanten Code.
  • Bitte stelle verständliche Fragen in ordentlicher Sprache. Sei prägnant!
  • Bitte verwende für spätere Leser einen Threadtitel (Bitte aussagekräftige Threadtitel verwenden), der das Problem kurz beschreibt
  • Bitte drängle nicht.
  • Bitte markiere abgeschlossene Themen über den "Erledigt"-Link oben links.

Bitte beachten:

Inserate, Konzepte und Meinungsumfragen

Ein eigener Ansatz oder eigene Gedanken zum Problem sollten also beschrieben werden.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 02.01.2012, 18:19  
Erfahrener Benutzer
 
Registriert seit: 29.08.2008
Beiträge: 777
halskrause wird schon bald berühmt werden
Standard

Eine Lösung wäre:

PHP-Code:
<?php
function getCurrPage($link){
    if(
$link==$_SERVER['PHP_SELF']){
        return 
'id="aktuell"';
    }
    return 
false;
}
?>

<div id="navi_links">
<ul>
<li <?php echo getCurrPage('index.php'); ?>><a href="index.php">Zitat des Tages</a></li>
<li <?php echo getCurrPage('ueber.php'); ?>><a href="ueber.php">Über mich</a></li>
<li <?php echo getCurrPage('webdesign.php'); ?>><a href="webdesign.php">Über diese Seite</a></li>
<li <?php echo getCurrPage('neues.php'); ?>><a href="neues.php">Neues</a></li>
</ul>                            
</div>
halskrause ist offline   Mit Zitat antworten
Alt 02.01.2012, 18:33  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Erst einmal willkommen im Forum:
Wie du ja schon festgestellt hast, geht das bei deiner aktuellen Idee nicht.
Die Idee von halskrause ist da ja schon mal ein Ansatz, der dein Problem löst. (Wobei ich allg. nicht PHP_SELF benutzen würde; http://blog.oncode.info/2008/05/07/p...scripting-xss/)

An dieser Stelle würde ich aber noch einen Schritt weiter gehen und das ganze Menü nicht Statisch in eine Datei packen, sonder nur als assotiatives (falls du mehrere Links auf ein Ziel hast als 2-Dim) Array in einer Variablen abspeichern und dann mit PHP die Linkliste erstellen, das vereinfacht es wenn du später einmal einen Link hinzufügen möchtest und du kannst das mit dem aktuellen Link gleich regeln.
ChrisvA ist gerade online   Mit Zitat antworten
Alt 02.01.2012, 19:08  
Neuer Benutzer
 
Registriert seit: 02.01.2012
Beiträge: 5
PHP-Kenntnisse:
Anfänger
piano befindet sich auf einem aufstrebenden Ast
Standard

Danke für die schnellen Antworten an halskrause und ChrisvA.
Das man im Forum jedoch gleich belehrt wird, obwohl man sich an alle Punkte und die Nettiquette gehalten hat, ist auch mal was ganz Neues. Das ich hier in diesem Forum neu bin, heisst ja nicht, das ich noch keine Erfahrungen mit Foren und den dort herrschenden Regeln habe.

Die Lösung von halskrause gefällt mir sehr gut, so in etwa stelle ich mir guten Code vor, nicht zu vergleichen mit meinen Ansätzen. So ist es weiterhin möglich, Links per include einzusetzen. Das mit dem assoziativen Array mus ich mir auch noch mal durch den Kopf gehen lassen, doch bevor ich zu dem Thema weiter frage, muss ich mich erst mal genauer damit beschäftigen. Der Warnhinweis zu PHP_SELF ist auch sehr interessant und man sollte dieses Risiko bewerten und abschätzen, ob man diese Funktion trotzdem verwenden möchte. Danke für Eure Hilfe.

Gruß
Jochen
piano ist offline   Mit Zitat antworten
Alt 02.01.2012, 19:34  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

In diesem Zusammenhang geht eigentlich keine Gefahr davon aus, da es sich lediglich um einen Anzeigefehler handelt, aber ich verweise Grundsätzlich bei Skripten mit PHP_SELF darauf, da es eben eine weithin unbekannte und sehr einfach Methode ist, eine Seite ungewollt zu modifizieren.

PS: Was deinem Post fehlte, waren deine konkreten Umsetzungsideen, die du schon hattest und wieder verworfen hast.
ChrisvA ist gerade online   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
opensuse 11.3 apache2 kein php horstschulz Server, Hosting und Workstations 10 09.05.2011 12:03
Eure Meinung zum Design einer Seite :) Jonny2010 Off-Topic Diskussionen 16 14.04.2011 22:03
[Erledigt] include mit Seite &amp; Seite+Seitenzahl??? TaubSystem PHP Einsteiger 15 15.02.2011 16:08
Sessiondaten in include nutzen PHP Tipps 2006 17 23.02.2006 17:18
include, nur bestimmten teil neu laden Calli PHP Tipps 2006 2 27.01.2006 15:57
include nachträglich in statische Seite einfügen PHP Tipps 2007 6 17.11.2005 20:03
HILFE mit Include PHP Tipps 2005 1 29.03.2005 05:44
include innerhalb einer seite rückgängig machen PHP Tipps 2005 2 27.03.2005 20:26
Seite in Seite PHP-Fortgeschrittene 3 15.03.2005 19:27
Aktuelle Seite = Link aus einer Datei => BILD? PHP Tipps 2004 2 07.09.2004 21:49
aktuelle seite Sclot PHP Tipps 2004 4 25.07.2004 14:10
Seite nicht mit content="3600" im Cache gespeicher scheibo PHP Tipps 2004 0 19.07.2004 14:49
[Erledigt] include Befehl in PHP Seite HTML, Usability und Barrierefreiheit 13 02.07.2004 11:22
include einer php seite PHP Tipps 2004 1 27.06.2004 18:35
[Erledigt] PHP Eine neue PHP seite automatisch öffnen PHP Tipps 2004 1 19.06.2004 12:40

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
in php aktuelle seite neu laden, include aktuelle seite, php in aktueller seite, php link aktuelle seite andere farbe, php befehl zum neuladen der aktuellen seite, variable a href php link speichern array, seite automatisch neu laden php

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum