login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Rechten Systeem

Offline Miendag - 22/01/2010 10:38 (laatste wijziging 23/01/2010 22:12)
Avatar van MiendagLid Ik heb een kort maar klein rechten systeem gemaakt.
Eerst werkte het maar later zo opeens niet meer
dus mijn vraag is zit er iets fout in me script of gaat er iets mis in de database

De code staat op http://www.plaatscode.be/138492/

Ik zal ook even mijn mysql plaatsen.

  1. CREATE TABLE IF NOT EXISTS `paginarechten` (
  2. `paginaid` int(11) NOT NULL AUTO_INCREMENT,
  3. `paginanummer` int(11) NOT NULL,
  4. `rechtenlevel` int(11) NOT NULL,
  5. `paginanaam` varchar(255) NOT NULL,
  6. PRIMARY KEY (`paginaid`)
  7. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;


Ik hoop dat iemand mij kan helpen?

Ibrahim schreef:
Code tags zijn er voor een reden !

7 antwoorden

Gesponsorde links
Offline Aar - 22/01/2010 12:06 (laatste wijziging 22/01/2010 12:06)
Avatar van Aar PHP interesse Wat gebeurt er? Komt er rook uit je PC, gaat je monitor spontaan uit?

Wat gebeurt er, en wat verwacht je?
Iets meer duidelijkheid mag ook wel, dan alleen een "het werkt niet!".
Bedankt door: gothmog
Offline rredspike1 - 22/01/2010 12:42
Avatar van rredspike1 Lid doel van het systeem, eigenlijk een inlogsysteem met rechten (levels) bijv.
Admin
Moderator
Gebruiker

zoiets..maar kan je niet inloggen of checkt hij niet op level.. wat is het probleem?!
Bedankt door: Aar
Offline jaronneke - 22/01/2010 12:56
Avatar van jaronneke MySQL interesse ik kan het nét niet in mijn glazen bol kijken wat het probleem is
Offline Miendag - 22/01/2010 13:34
Avatar van Miendag Lid oow oeps vergetten

Maar het probleem is dat die elke keer het afkeurt.
Dus eigelijk zegt dat de gegevens niet overheen komen

Bijvoorbeeld:
User 1 heeft rechten om op pagina 1 te kijken.
Dus hij zal er op moeten kunnen kijken. Maar hij kan er niet op kijken...

Offline rredspike1 - 22/01/2010 14:03 (laatste wijziging 22/01/2010 14:06)
Avatar van rredspike1 Lid check je dus op:

  1. $query = mysql_query("SELECT * FROM gebruikers") etc;
  2. $rij = mysql_fetch_assoc($query);
  3. if ($rij['rechtenlevel']==1)
  4. {
  5. CONTENT 1
  6. }
  7. elseif ($rij['rechtenlevel']==2)
  8. {
  9. CONTENT 2
  10. }
  11. else
  12. {
  13. echo 'Sorry geen bevoegdheid';
  14. }
Offline Miendag - 25/01/2010 11:24
Avatar van Miendag Lid Dit is denk ik voor mij niet de oplossing.

Ik werk namelijk in ieder geval met 10 verschillende rechten niveaus
Ook zou ik alles via de database willen regelen dit is ook om het beheer baar te houden.

Maar dat werkt niet echt hoe ik het eerst had:|
Offline ArieMedia - 25/01/2010 11:52 (laatste wijziging 25/01/2010 11:53)
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
@Miendag: Je moet echt wat doen aan je vraagstelling, deze mist totaal de boot. Aan reacties te lezen denk ik dat je zoiets nodig hebt:

  1. <?php
  2. $iPaginaID = (int) $_GET['pageid'];
  3.  
  4. define('_GUEST_', 1);
  5. define('_USER_', _GUEST + 2);
  6. define('_VIPUSER_', _GUEST_ + _USER_ + 4);
  7. define('_MODERATOR_', _GUEST_ + _USER_ + _VIPUSER_ + 8);
  8.  
  9.  
  10. $sql = 'SELECT paginaid,
  11. paginanummer,
  12. rechtenlevel,
  13. paginanaam
  14. FROM paginarechten
  15. WHERE pagina = '.$iPaginaID;
  16. $res = mysql_query($sql);
  17. if(mysql_num_rows($res) == 1) {
  18. $aRow = mysql_fetch_assoc($res);
  19. switch($aRow['rechtenlevel']) {
  20. case 1: $iLevel = _GUEST_; break;
  21. case 2: $iLevel = _USER_; break;
  22. case 3: $iLevel = _VIPUSER_; break;
  23. case 4: $iLevel - _MODERATOR_ break;
  24. }
  25. }
  26.  
  27. if($iLevel >= $_SESSION['user']['level']) {
  28. echo 'Hoi';
  29. }
  30.  
  31. ?>

Ik heb het niet getest, mocht het niet werken dan heb jij een leuk uitgangspunt om het werkend te maken.

Succes  

EDIT: Er zit nu al 1 klein denkfoutje in, ik haal hem er expres niet uit, ik vertel je wel dat het iets met sessies te maken heeft.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.193s