christdi Skrevet 18. mai 2004 Del Skrevet 18. mai 2004 Hei. Jeg har et navigasjonssystem basert på PHP. Alle sider inkluderes i index.php. Hovedsiden (index.php) består av en tabell med to kolonner. Linkene står i venstre kolonne og innholdet kommer opp i høyre. For å se hvilken side man er på (aktiv side) har jeg fått hjelp til å lage en preg_replace setning. Altså, når jeg klikker på en link på venstre side skal denne linken utheves i forhold til de andre linkene. Det er gjort noen endringer på webserveren jeg har sidene mine på, og etter dette virker ikke denne uthev funksjonen lenger. Håper noen kan komme med tips til hva som kan gjøres. Misstenker selv at preg_replace setningen må endres på et vis, men er ikke helt bevandret i bruken av regular expressions. Nedenfor er koden min : innhold av index.php : <!-- Hovedtabell --> <table> <tr> <td valign=top> <!-- Navigasjons side, venstre side --> <? require ("nav.php"); ?> </td> <!-- Høyre side, med selve innhold --> <td valign=top> <!-- Navigasjons kjernen --> <? $cat=$HTTP_GET_VARS['cat']; if(isset($cat) and file_exists($cat)) { include("$cat"); } else { include("./home.php"); } ?> </td> </tr> </table> Og nedenfor er innholdet av navigasjons filen nav.php : <table> <? $link = "http://www.domenenavn.no"; if ($cat) { echo "<tr><td><a href=$link>Home</a></td></tr>"; } else { echo "<tr><td><a href=$link><font color=red>Home</font></a></td></tr>"; } ?> <!-------------------------------------------------------------------------------> <? $myFiles=array(); $homedir = "filer"; $dir = opendir("$homedir"); while(FALSE !== ($file = readdir($dir))) { if($file=="."||$file==".."||ereg("index|forum|webmail|search", $file)) { } else { $myFiles[] = "$file"; }} closedir($dir); sort($myFiles); reset($myFiles); $active=preg_replace("/^.*\/([^\/]+)\.php$/","$1",$cat); foreach($myFiles as $file) { if ($file!=$active) { print "<tr><td><a href=index.php?cat=filer/$file/$file.php>".ucfirst($file)."</a></td></tr>"; } else { print "<tr><td><a href=index.php?cat=filer/$file/$file.php>".ucfirst($file)."</a></td></tr>"; }} ?> </table> Håper på noen tips. Mvh CD Lenke til kommentar
Svendsen Skrevet 18. mai 2004 Del Skrevet 18. mai 2004 dette gjøres med CSS og a:active les her: http://www.w3schools.com/css/default.asp Lenke til kommentar
magikern Skrevet 18. mai 2004 Del Skrevet 18. mai 2004 Forferdelig klønete å bruke så mye server-side til det der. prøv sånn her istedet: <body id="$id"> <div id="nav"> <ul> <li id="h">home</li> <li id="a">about</li> </ul> </div> </body> /*css, bruk dine egne body id'er her for å få riktig definisjoner*/ body#home #nav li#h a, body#about #nav li#a a { color: red; } eneste du da bruker server-side til er å definere id utifra hvilken underside du er på, kan f. eks være en GET variabel... Lenke til kommentar
christdi Skrevet 18. mai 2004 Forfatter Del Skrevet 18. mai 2004 Takk for forslagene, men jeg tror ikke det er løsningen for det jeg prøver å gjøre. Jeg tror preg_replace setningen min ikke er helt korrekt. Noen forslag ? Lenke til kommentar
christdi Skrevet 18. mai 2004 Forfatter Del Skrevet 18. mai 2004 Bare for å spesifisere det. Det er ikke når jeg klikker på linken at fargen skal skriftes. Det er etter man har klikket på linken fargen skal endres. Dette for å vise hvilken side man er inne på. Håper dere skjønner hva jeg mener. Lenke til kommentar
magikern Skrevet 18. mai 2004 Del Skrevet 18. mai 2004 Bare for å spesifisere det.Det er ikke når jeg klikker på linken at fargen skal skriftes. Det er etter man har klikket på linken fargen skal endres. Dette for å vise hvilken side man er inne på. Håper dere skjønner hva jeg mener. er akkurat det som skjer med den css koden jeg la ut over her... Lenke til kommentar
christdi Skrevet 19. mai 2004 Forfatter Del Skrevet 19. mai 2004 (endret) Jeg fikk ikke eksemplet ditt til å virke magikern. Hvor skal koden stå ? Kunne du forklare litt nærmere hvordan jeg kan få dette til å virke ? Mvh CD Endret 19. mai 2004 av christdi Lenke til kommentar
magikern Skrevet 19. mai 2004 Del Skrevet 19. mai 2004 <?php $id = $_GET['id']; echo("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?> <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\"> <head> <style type=\"text/css\" media=\"all\">@import \"/style.css\";</style> </head> <body id=\"$id\"> <div id=\"mainnav\"> <ul> <li id=\"h\"><a href=\"/\" title=\"home\">home</a></li> <li id=\"a\"><a href=\"/about/\" title=\"about\">about</a></li> </ul> </div> </body> </html>"); ?> <-- = home.php style.css = --> body#home #nav li#h a, body#about #nav li#a a { color: red; } forstå du nå? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå