login  Naam:   Wachtwoord: 
Registreer je!
 Forum

beveiligen met een status

Offline roelh - 17/08/2005 16:50
Avatar van roelhPHP gevorderde Heey mensen,

Ik ben nu bezig met sessions, ben het aan het leren.
Alles werkt nu, alleen nu wil ik verder gaan met statussen.
Ik heb status "admin" en "lid"
Hoe maak ik nu dat op een bepaalde pagina alleen admin mag komen?
Kan iemand me helpen?

Groet,

6 antwoorden

Gesponsorde links
Offline Ibrahim - 17/08/2005 16:52
Avatar van Ibrahim PHP expert if($_SESSION['status'] == 'admin'){
//admin dingen
}

zelfde als lid doen en ook een sessie aanmaken voor de status
Offline Legolas - 17/08/2005 16:53 (laatste wijziging 17/08/2005 16:57)
Avatar van Legolas Onbekend
  1. <?
  2. if($_SESSION['status'] <> 'admin'):
  3. // stuur weg
  4. header("location: statuserror.php");
  5. endif;


edit: te laat:s

tip: ik zou je statussen in Integers bewaren, zodat je groter dan en kleiner dan gemakkelijk kunt doen. dan kun je altijd nog een statusnaam($iStatus) maken om de statusnaam weer te krijgen;-)
Offline Ibrahim - 17/08/2005 17:02 (laatste wijziging 17/08/2005 17:02)
Avatar van Ibrahim PHP expert hij bedoelt denk ik in getallen opslaan zodat je maar een getal hoeft te veranderen om een status te veranderen. aleen een gokje 

plus waarom groter dan en kleiner dan snap ik ff niet

greetz siliecom14
Offline roelh - 17/08/2005 17:32
Avatar van roelh PHP gevorderde Hmmsss, k snap even niet.
Je moet op de pagina en aanroepen of je wel de goede gebruiker bent, maar ook tegelijk de status:

kan iemand bitte helpen, kom er echt niet uit 

  1. <?
  2. include "config.php";
  3. if($_SESSION['username']){
  4. if($_SESSION['status'] = "lid") {
  5. echo "doet utt, je bent ingelogd als ".$_SESSION['username']."";
  6. }
  7. else {
  8. echo "doet niej,,,";
  9. }
  10. }
  11.  
  12.  
  13. ?>
Offline Legolas - 17/08/2005 17:38
Avatar van Legolas Onbekend Uitleg met voorbeeld:

Je hebt een kolom status in je gebruikers tabel, zoniet: ALTER TABLE gebruikers ADD(status TINYINT(1) NOT NULL DEFAULT 1);
Bij de login vul je dus de $_SESSION['level'], $_SESSION['slevel'] (gebruik ik) of wat dan ook met het record uit die kolom, status. Om nu alleen crewleden te laten krijgen, kun je eenvoudig met >= checken. Zie onderstaand voorbeeld.

  1. <?
  2. require("sessie.php"); // of wat dan ook je sessie/cookie vars bijhoudt
  3.  
  4. if($_SESSION['slevel'] >= 2){
  5.  
  6. // toegang, want level groter dan 1 dus user in de crew
  7. }
  8.  
  9. else{
  10.  
  11. header("Location: wegstuurpagina.php");
  12. }
  13. ?>


Nu wat je moet doen met een kolom VARCHAR, dus wat jullie hadden, en je hebt de rangen Lid, Medewerker, Admin, Super-Admin en Beheerder, maar nog met een slimme manier:


  1. <?
  2. require("sessie.php"); // of wat dan ook je sessie/cookie vars bijhoudt
  3.  
  4. $aToegang = array('Medewerker','Admin','Super-Admin','Beheerder');
  5.  
  6. if(In_Array($_SESSION['slevel'], $aToegang)){
  7.  
  8. // toegang, want de gebruiker zit in de crew.
  9. }
  10.  
  11. else{
  12.  
  13. header("Location: wegstuurpagina.php");
  14. }
  15. ?>


Denk dat het zo duidelijk is? 
Offline roelh - 17/08/2005 17:50
Avatar van roelh PHP gevorderde Hmmsss, na het wil ngo niet echt werken, omdat je zegt, wat de sessies bij elkaar houdt.
Maar k moet s0w eerst voetballen, dus ga ik er vanavond op verder proberen 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.231s