menu
Ik heb een heel omslachtig menu gemaakt in php. Het kan veel korter, maar ik weet niet hoe. Kan iemand mij opweg helpen?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<div class="nav-menu">
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=home">Home</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=afvaart">Afvaart</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=viking">Viking</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=team">Team</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=wedstrijden">Wedstrijden</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=nieuws">Nieuws</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=beeld">Beeldmateriaal</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=gastenboek">Gastenboek</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=links">Links</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=contact">Contact</a></li>
<? if(isset($_SESSION['user_id'])) {
$sql = "UPDATE gebruikers SET lastactive=NOW() WHERE id='".$_SESSION['user_id']."'";
mysql_query($sql);
if($_SESSION['user_status'] == 1) {
if($_GET['pagina'] == "" OR $_GET['pagina'] == "home" OR $_GET['pagina'] == "ingelogd" OR $_GET['pagina'] == "user" OR $_GET['pagina'] == "edit_gastenboek" OR $_GET['pagina'] == "mail") {
?>
</div>
<div class="sub-menu">
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=ingelogd">Ingelogd</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=user">Instellingen</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=edit_gastenboek">Gastenboek</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=mail">Mail</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=uitloggen">Uitloggen</a></i><?=$ruimte?>
<?
}
}
}
?>
<? if($_GET['pagina'] == "team" OR $_GET['pagina'] == "training") { ?>
</div>
<div class="sub-menu">
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=training">Training</a></i><?=$ruimte?>
</div>
<? }elseif($_GET['pagina'] == "wedstrijden" OR $_GET['pagina'] == "hollandcup" OR $_GET['pagina'] == "wedstrijden06" OR $_GET['pagina'] == "wedstrijden07" OR $_GET['pagina'] == "wedstrijden08" OR $_GET['pagina'] == "wedstrijden09") { ?>
</div>
<div class="sub-menu">
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=hollandcup">Holland Cup</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=wedstrijden06">2006</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=wedstrijden07">2007</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=wedstrijden08">2008</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=wedstrijden">2009</a></i><?=$ruimte?>
</div>
<? }elseif($_GET['pagina'] == "nieuws" OR $_GET['pagina'] == "persberichten" OR $_GET['pagina'] == "archief06" OR $_GET['pagina'] == "20060916_GM" OR $_GET['pagina'] == "archief07" OR $_GET['pagina'] == "archief08" OR $_GET['pagina'] == "20070718_amerika") { ?>
</div>
<div class="sub-menu">
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=persberichten">Persberichten</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=archief06">Archief 2006</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=archief07">Archief 2007</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=archief08">Archief 2008</a></i><?=$ruimte?>
</div>
<? }elseif($_GET['pagina'] == "beeld" OR $_GET['pagina'] == "foto" OR $_GET['pagina'] == "video") { ?>
</div>
<div class="sub-menu">
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=foto">Foto's</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=video">Video</a></i><?=$ruimte?>
</div>
<? }elseif($_GET['pagina'] == "contact" OR $_GET['pagina'] == "adres" OR $_GET['pagina'] == "login" OR $_GET['pagina'] == "forgotpass") { ?>
</div>
<div class="sub-menu">
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=adres">Clublokatie</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=login">Login</a></i><?=$ruimte?>
</div>
<? }else{
echo "</div>";
} ?>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=home">Home</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=afvaart">Afvaart</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=viking">Viking</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=team">Team</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=wedstrijden">Wedstrijden</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=nieuws">Nieuws</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=beeld">Beeldmateriaal</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=gastenboek">Gastenboek</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=links">Links</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=contact">Contact</a></li>
<? if(isset($_SESSION['user_id'])) {
$sql = "UPDATE gebruikers SET lastactive=NOW() WHERE id='".$_SESSION['user_id']."'";
mysql_query($sql);
if($_SESSION['user_status'] == 1) {
if($_GET['pagina'] == "" OR $_GET['pagina'] == "home" OR $_GET['pagina'] == "ingelogd" OR $_GET['pagina'] == "user" OR $_GET['pagina'] == "edit_gastenboek" OR $_GET['pagina'] == "mail") {
?>
</div>
<div class="sub-menu">
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=ingelogd">Ingelogd</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=user">Instellingen</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=edit_gastenboek">Gastenboek</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=mail">Mail</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=uitloggen">Uitloggen</a></i><?=$ruimte?>
<?
}
}
}
?>
<? if($_GET['pagina'] == "team" OR $_GET['pagina'] == "training") { ?>
</div>
<div class="sub-menu">
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=training">Training</a></i><?=$ruimte?>
</div>
<? }elseif($_GET['pagina'] == "wedstrijden" OR $_GET['pagina'] == "hollandcup" OR $_GET['pagina'] == "wedstrijden06" OR $_GET['pagina'] == "wedstrijden07" OR $_GET['pagina'] == "wedstrijden08" OR $_GET['pagina'] == "wedstrijden09") { ?>
</div>
<div class="sub-menu">
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=hollandcup">Holland Cup</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=wedstrijden06">2006</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=wedstrijden07">2007</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=wedstrijden08">2008</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=wedstrijden">2009</a></i><?=$ruimte?>
</div>
<? }elseif($_GET['pagina'] == "nieuws" OR $_GET['pagina'] == "persberichten" OR $_GET['pagina'] == "archief06" OR $_GET['pagina'] == "20060916_GM" OR $_GET['pagina'] == "archief07" OR $_GET['pagina'] == "archief08" OR $_GET['pagina'] == "20070718_amerika") { ?>
</div>
<div class="sub-menu">
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=persberichten">Persberichten</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=archief06">Archief 2006</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=archief07">Archief 2007</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=archief08">Archief 2008</a></i><?=$ruimte?>
</div>
<? }elseif($_GET['pagina'] == "beeld" OR $_GET['pagina'] == "foto" OR $_GET['pagina'] == "video") { ?>
</div>
<div class="sub-menu">
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=foto">Foto's</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=video">Video</a></i><?=$ruimte?>
</div>
<? }elseif($_GET['pagina'] == "contact" OR $_GET['pagina'] == "adres" OR $_GET['pagina'] == "login" OR $_GET['pagina'] == "forgotpass") { ?>
</div>
<div class="sub-menu">
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=adres">Clublokatie</a></i><?=$ruimte?>
<i><a href="<?=$_SERVER['PHP_SELF']?>?pagina=login">Login</a></i><?=$ruimte?>
</div>
<? }else{
echo "</div>";
} ?>
Quote:
Verplaatst naar php
SanThe.
SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Sven Onbekend
Dit hoort totaal niet bij admins/mods, het kan een foutje zijn hoor.
met datebase werken :)
Met multidimensionale array (ik weet niet of naamgeving klopt)
voorbeeldje:
Snel opzetje, ik hoop dat je het snapt en er wat aan hebt. Succes!
voorbeeldje:
Code (php)
Snel opzetje, ik hoop dat je het snapt en er wat aan hebt. Succes!
Gewijzigd op 01/01/1970 01:00:00 door jojo
Zal je even op weg helpen:
kan vervangen worden door:
Hoop dat je hier wat mee kan.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=home">Home</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=afvaart">Afvaart</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=viking">Viking</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=team">Team</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=wedstrijden">Wedstrijden</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=nieuws">Nieuws</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=beeld">Beeldmateriaal</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=gastenboek">Gastenboek</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=links">Links</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=contact">Contact</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=afvaart">Afvaart</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=viking">Viking</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=team">Team</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=wedstrijden">Wedstrijden</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=nieuws">Nieuws</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=beeld">Beeldmateriaal</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=gastenboek">Gastenboek</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=links">Links</a></li>
<li><a class="section" href="<?=$_SERVER['PHP_SELF']?>?pagina=contact">Contact</a></li>
kan vervangen worden door:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?PHP
$menuItems = array('Home', 'Afvaart', 'Viking', 'Team', 'Wedstrijden', 'Nieuws', 'Beeldmateriaal', 'Gastenboek', 'Links', 'Contact');
foreach($menuItems as $item)
{
echo '<li><a class="section" href="' . $_SERVER['PHP_SELF'] . '?pagina=' . strtolower($item) . '">' . $item . '</a></li>';
}
?>
$menuItems = array('Home', 'Afvaart', 'Viking', 'Team', 'Wedstrijden', 'Nieuws', 'Beeldmateriaal', 'Gastenboek', 'Links', 'Contact');
foreach($menuItems as $item)
{
echo '<li><a class="section" href="' . $_SERVER['PHP_SELF'] . '?pagina=' . strtolower($item) . '">' . $item . '</a></li>';
}
?>
Hoop dat je hier wat mee kan.
Had een heel bericht geschreven, maar het topic was ondertussen verplaatst. :(
In ieder geval: google (of zoek op deze site) naar ' htaccess' en/of 'url rewrite'. Daarmee kan je het laatste gedeelte van je url's, ?pagina=', weghalen. En werkt het zonder $_SERVER['PHP_SELF'] niet? Want je kan waarschijnlijk in je .htacess instellen dat dat ook niet nodig is.
Verder hoef je ook niet overal classes aan je links te hangen. Je kan een stijl definiëren voor alle links in de div nav-menu en in de div sub-menu. Voorbeeldje:
#nav-menu a:link {
color: pink;
text-decoration: none;
}
#sub-menu a:link {
color: lime;
text-decoration: underline;
}
In ieder geval: google (of zoek op deze site) naar ' htaccess' en/of 'url rewrite'. Daarmee kan je het laatste gedeelte van je url's, ?pagina=', weghalen. En werkt het zonder $_SERVER['PHP_SELF'] niet? Want je kan waarschijnlijk in je .htacess instellen dat dat ook niet nodig is.
Verder hoef je ook niet overal classes aan je links te hangen. Je kan een stijl definiëren voor alle links in de div nav-menu en in de div sub-menu. Voorbeeldje:
#nav-menu a:link {
color: pink;
text-decoration: none;
}
#sub-menu a:link {
color: lime;
text-decoration: underline;
}
thanx, ik ga er mee aan de slag :)




