login  Naam:   Wachtwoord: 
Registreer je!
 Forum

link in pagina systeem

Offline W0etah - 12/11/2006 13:38
Avatar van W0etahPHP beginner Ik heb nu een pagina systeem, maar nu wil ik dat de link waarop je geklikt hebt zwart blijft todat je op een andere link klikt, dan wordt die zwart, nu probeer ik in mijn body tag, de class te laten veranderen in de aangeklikte link, maar dit wilt niet lukken
ik heb dit geprobeerd

  1. <body <?php class="$_GET['pagina']"; ?>>
  2. <div id="wrapper">
  3. <div id="header"></div>
  4. <div id="infobalk">
  5. <?php include('berichtenbalk.php'); ?>
  6. </div>
  7. <div id="menu">
  8. <ul>
  9. <li class="login"><a href="index.php?pagina=login">Login</a></li>
  10. <li><a href="index.php?pagina=registratie">Registreer</a></li>
  11. <li><a href="#">Link 1</a></li>
  12. <li><a href="#">Link 1</a></li>
  13. <li><a href="#">Link 1</a></li>
  14. </ul>
  15. </div>


in mijn css is het gewoon dit

  1. body#login li.login a:link, body#login li.login a:visited {
  2. color: #FFFFFF;
  3. text-decoration: none;
  4. display: block;
  5. background: #999999;
  6. border-left: 3px solid #666666;
  7. }



mijn pagina systeem werkt perfect, komt van op sitemasters hier

12 antwoorden

Gesponsorde links
Offline timo - 12/11/2006 13:42
Avatar van timo PHP ver gevorderde <?php class bestaat niet.. php is een scripttaal he...?
Offline W0etah - 12/11/2006 13:46
Avatar van W0etah PHP beginner
  1. <body id="<?php $_GET['pagina']; ?>">


ik heb het nu zo gedaan, maar dit werkt nog altijd niet met de links
Offline Dark_Paul - 12/11/2006 14:15 (laatste wijziging 12/11/2006 14:16)
Avatar van Dark_Paul PHP ver gevorderde Je moet een if-structuur maken:
Zet dit in je links:
  1. <?=($_GET['pagina'] == 'linknaam') ? 'class="actieve"' : '';?>

Uitleg wat dit doet:
Dit is een verkorte if-else statement. Tussen de '(' en ')' staat de statement (in dit geval $_GET['pagina'] == 'linknaam').
Achter de '?' staat wat ie moet doen voor het geval dit TRUE opleverd (tussen ' ' zetten). Achter de ':' staat wat er moet gebeuren als de statement FALSE opleverd.
Verander 'linknaam' in de waarde die je voor $_GET['pagina'] meegeeft in de link waar je 'm inzet. In 'class="actieve" ' verander je 'actieve' in de naam van de class van de actieve link (je hoeft heir dan alleen een kleur aan mee te geven).
Dus je link zal er zo uitzien:
  1. <a href="?pagina=home" <?=($_GET['pagina'] == 'home') ? 'class="actieve"' : '';?> >Link 1</a>


edit:
sorry, overmatig haakjesgebruik 
Offline W0etah - 12/11/2006 14:28
Avatar van W0etah PHP beginner
  1. <?php
  2. $sExpressie = "(http:|ftp:|shttp:|www.|.php|.pl|.cgi|.asp|index.php)";
  3. // een soort van array met dingen die er niet in voor mogen komen
  4. if(isset($_GET['pagina'])) {
  5. if(eregi($sExpressie,$_GET['pagina'])) {
  6. echo 'Ongeldige pagina opgegeven.'; }
  7. else {
  8. if(file_exists($_GET['pagina'].'.php')) {
  9. include $_GET['pagina'].'.php';
  10. } else {
  11. echo 'De opgegeven pagina bestaat niet.';
  12. }
  13. }
  14. } else {
  15. include ('home.php');
  16. }
  17. ?>



kijk, ik heb dit pagina systeem, dan moet ik toch in de links niet aanpassen, maar ik zie niet hou jouw script de id van mijn <body> kan veranderen
Offline Dark_Paul - 12/11/2006 14:31
Avatar van Dark_Paul PHP ver gevorderde Als je wilt dat de link waar je nu bent, zwart gekleurd wordt (en blijft), dan moet je dat niet in je body veranderen, maar moet je de link een class meegeven die ervoor zorgt dat de link zwartgekleurd wordt.
Je CSS weet niet welke link gekleurd zou moeten zijn, als je alleen een ander ID aan je body meegeeft.
Offline W0etah - 12/11/2006 14:38
Avatar van W0etah PHP beginner kan ik dit ook in mijn pagina systeem verwerken of gaat dit niet?
Offline Grayen - 12/11/2006 16:36
Avatar van Grayen PHP ver gevorderde ligt eraan hoe jij je links aanmaakt, dynamisch of statisch, als je het dynamisch doet zou ik wel weten hoe het moet, maar statisch niet.
Offline W0etah - 12/11/2006 16:55
Avatar van W0etah PHP beginner http://www.plaatscode.be/3100/

zo zijn mijn links gemaakt
Offline Grayen - 12/11/2006 17:21
Avatar van Grayen PHP ver gevorderde helaas dan weet ik het ook niet . als je die links zoals deze:

  1. <li><a href="?pagina=uitloggen">Uitloggen</a></li>


bijvoorbeeld zo had aangemaakt:
  1. <?php
  2. $aMenu = array('uitloggen', 'inloggen');
  3. foreach($aMenu as $sValue){
  4. $sActive = ($_GET['pagina'] == $sValue) ? ' class="actief"' : '';
  5. echo '<li><a href="?pagina='.$sValue.'"'.$sActive.'>'.$sValue.'</a></li>';
  6. }
  7. ?>


had het wel gekund ;)
Offline W0etah - 12/11/2006 17:23
Avatar van W0etah PHP beginner ik kan het nog altijd veranderen, er staan toch nog maar 4 links
Offline Grayen - 12/11/2006 17:33
Avatar van Grayen PHP ver gevorderde zo zou ik het doen:

  1. <ul>
  2. <?php
  3. if(!isset($_SESSION['gebruiker'])) {
  4. $aMenu = array('login', 'registreer');
  5. } else {
  6. $aMenu = array('uitloggen', 'controlepaneel');
  7. }
  8. foreach($aMenu as $sValue){
  9. $sActive = ($_GET['pagina'] == $sValue) ? ' class="actief"' : '';
  10. // ucfirst maakt van de eerste letter in de string een hoofdletter
  11. ?>
  12. <li><a href="?pagina=<?=$sValue?>"<?=$sActive?>><?=ucfirst($sValue)?></a></li>
  13. <?php
  14. }
  15. ?>
  16. </ul>
Offline W0etah - 12/11/2006 17:37
Avatar van W0etah PHP beginner ik ga het nog is bekijken, maar in ieder geval bedankt
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.277s