Andere achtergrondkleur in menu

Status
Niet open voor verdere reacties.
Right! Ik denk dat een/het probleem zie :)
De url van bijv. werving = (www.)mijnWebsite.nl/SAS1/Werving.php
Dus vandaar dat die id's niet helemaal kloppen (dat SAS1 zit nog in de weg => id="sas1werving").

PHP:
<ul>
<li><a href="Actueel.php"  id="sas1werving">Actueel</a></li>
<li><a href="Media.php"  id="sas1werving">Media</a></li>
<li><a href="Nieuwsbrief.php"  id="sas1werving">Nieuwsbrief</a></li>
<li><a href="Werving.php"  id="sas1werving">Werving</a></li>
</ul>



<ul>
    <li  id="sas1werving"><a href="Actueel.php">Actueel</a></li>
    <li  id="sas1werving"><a href="Media.php">Media</a></li>
    <li  id="sas1werving"><a href="Nieuwsbrief.php">Nieuwsbrief</a></li>
    <li  id="sas1werving"><a href="Werving.php">Werving</a></li>
</ul>
 
als je de functie nu vervang hiervoor. moet je even de bron posten.
Ik denk dat de uri nu wel klopt.
PHP:
<?php
function classCheck($id) {
$uri = (isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : 'Actueel.php');
$uri = explode('/', $uri);
$uri = explode('.', $uri[1]);
$uri = strtolower($uri[0]);
 
$id = strtolower($id);
 
if($id == $uri) {
return 'class="active" id="'.$uri.'"';
} else {
return ' id="'.$uri.'"';
}
}
?>
 
PHP:
<ul>
<li><a href="Actueel.php"  id="sas1">Actueel</a></li>
<li><a href="Media.php"  id="sas1">Media</a></li>
<li><a href="Nieuwsbrief.php"  id="sas1">Nieuwsbrief</a></li>
<li><a href="Werving.php"  id="sas1">Werving</a></li>
</ul>



<ul>
    <li  id="sas1"><a href="Actueel.php">Actueel</a></li>
    <li  id="sas1"><a href="Media.php">Media</a></li>
    <li  id="sas1"><a href="Nieuwsbrief.php">Nieuwsbrief</a></li>
    <li  id="sas1"><a href="Werving.php">Werving</a></li>
</ul>
 
Regel 5 => $uri = explode('.', $uri[2]); (i.p.v. 1)
En dan werkt het wel!!

Edit: nu even alles weer opschonen en tunen en kijken of het resultaat dan helemaal goed is :)
 
He altijd gekl**t met arrays. maar zo moet hij het wel doen!
PHP:
<?php
function classCheck($id) {
$uri = (isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : 'Actueel.php');
$uri = explode('/', $uri);
$uri = explode('.', end($uri));
$uri = strtolower($uri[0]);
 
$id = strtolower($id);
 
if($id == $uri) {
return 'class="active" id="'.$uri.'"';
} else {
return ' id="'.$uri.'"';
}
}
?>
 
Ok, dat is inderdaad nog wat beter ja!

Alles lijkt voorlopig goed te gaan op 1 ding na... Ik heb ook een aantal pagina's die een naam met een spatie erin hebben. Bijvoorbeeld mijnWebsite.nl/SAS1/Oude nieuwsbrieven.php

Dan loopt het niet lekker omdat het id dan als volgt wordt:
id="oude%20nieuwsbrieven"

Is dit op te lossen door ergens [ ] te plaatsen?
 
Laatst bewerkt:
regel 7 zorgt ervoor dat er weer een spatie komt te staan ipv %20
PHP:
<?php
function classCheck($id) {
$uri = (isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : 'Actueel.php');
$uri = explode('/', $uri);
$uri = explode('.', end($uri));
$uri = strtolower($uri[0]);
$uri - str_replace('%20', ' ', $uri);
$id = strtolower($id);
 
if($id == $uri) {
return 'class="active"';
} else {
return ' ';
}
}
?>
 
LOL zo kan je het natuurlijk ook oplossen! :)
Voor degenen die hier met ons meelezen of later nog eens hun voordeel er mee doen: in regel 7 moet de - een = zijn ;)

Volgens mij werkt alles nu echt helemaal goed!! Super bedankt (snelle replies en goede hulp)!
 
veel plezier ermee en nu ga ik mijn geest ff heerlijk te rusten leggen!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan