login  Naam:   Wachtwoord: 
Registreer je!
 Forum

loginscript -- admin..

Offline burdy92 - 17/03/2005 19:28
Avatar van burdy92HTML interesse hallo mensen, ik heb een loginscript gemaakt in: www.bernostyle.nl, maar nu wil ik dat er ook een admin is die meer rechten heeft dan normale members.. ik weet al een beetje hoe ik dat ga doen: ik voeg in de tabel uses een veld toe: admin en de standaardwaarde daarvan is 0, maar als de waarde 1 is is het dus een admin en heeft het meer rechten, maar nu weet ik niet hoe je kunt controleren (als je aan het inloggen bent) of je nou admin bent of niet.. weet iemand hoe ik dat kan doen? alvast bedankt...

berno

21 antwoorden

Gesponsorde links
Offline Bouli - 17/03/2005 19:32
Avatar van Bouli HTML interesse if ($obj -> admin == 1) {

hij is admin

}

else {

Hij is geen admin

}
Offline burdy92 - 17/03/2005 19:36
Avatar van burdy92 HTML interesse ahh ik snap het !! thx
dus alst ware:
if ($obj -> admin == 1) {

header("location: admin.php");

}

else {

header("location: memberarea.php");

} ?
Offline Bouli - 17/03/2005 19:36 (laatste wijziging 17/03/2005 19:37)
Avatar van Bouli HTML interesse Jij snapt het 

Dit kan je dus weer verwerken in de rest van je login script
Offline burdy92 - 17/03/2005 19:40
Avatar van burdy92 HTML interesse ja thx :)
Offline Stijn - 17/03/2005 19:40 (laatste wijziging 17/03/2005 19:44)
Avatar van Stijn PHP expert mmmm, zal effe een klein voorbeeldje geven:

  1. <?
  2. //tabel selecteren van de gebruikers
  3. $sql = mysql_query("SELECT * FROM users");
  4. $obj = mysql_fetch_object($sql);
  5.  
  6. //kijken of de gebruiker bestaat
  7. if($_POST['username'] == $obj->username AND md5($_POST['wachtwoord'] == $obj->wachtwoord)
  8. {
  9. setcookie("aangemeld", $_POST['username'], time());
  10. }
  11.  
  12. //als de cookie bestaat kijken of de gebruiker admin is of niet
  13. if(isset($_COOKIE['aangemeld']))
  14. {
  15. $admin = mysql_query("SELECT * FROM users WHERE username='$_COOKIE['aangemeld']' AND admin='1'");
  16.  
  17. //kijken of er een rij is geselecteerd
  18. if(mysql_num_rows($admin) == 1 OR mysql_num_rows($admin) >1)
  19. {
  20. echo "Je bent admin van deze site"; //of je kan hier je controle paneel plaatsten
  21. }
  22. }
  23. ?>


dit is eenvoudig voorgesteld 

groeten stijn 
Offline burdy92 - 17/03/2005 19:49
Avatar van burdy92 HTML interesse kijk ik heb aardig wat zitten prutsen maar kom dr neit helemaal uit: dit is mijn login.php (zonder de formulier) maar weet iemand hoe ik dat erin kan krijgen dat ie controleert op admin?

<? ob_start(); ?><?php session_start();
if(!empty($_POST)){
$query = "SELECT * FROM bsusers WHERE username='" . $_POST["username"] ."' AND password='" . $_POST["password"] . "'";
$result = mysql_query($query);
if(mysql_num_rows($result) > 0){
$user = $_POST["username"];
$password = $_POST["password"];
$_SESSION['username'] = $user;
$_SESSION['password'] = $password;
header("location: ?page=memberarea");
exit();
}
else {
echo "You are not logged in !..!";
} }
else{
header("Location: ?page=login");


?> <? ob_end_flush(); ?>
Offline vinTage - 17/03/2005 21:24
Avatar van vinTage Nieuw lid lees punt 6, 3 even na aub
Offline Stijn - 17/03/2005 22:13
Avatar van Stijn PHP expert Zie eens naar mijn code :!: 
Offline burdy92 - 18/03/2005 13:50
Avatar van burdy92 HTML interesse opgelost.... 
Offline ikkedikke - 18/03/2005 15:44
Avatar van ikkedikke PHP expert als je nou met die code een cookie faket met de naam van de admin, ben je gelijk admin, dah werkt dus niet
Offline CelestialCelebi - 18/03/2005 15:50
Avatar van CelestialCelebi PHP gevorderde $user = $_POST["username"];
$password = $_POST["password"];
$_SESSION['username'] = $user;
$_SESSION['password'] = $password;

????

Sommige mensen leren het nooit..
Offline prorsoft - 18/03/2005 15:56 (laatste wijziging 18/03/2005 16:00)
Avatar van prorsoft PHP gevorderde
  1. $user = $_POST["username"];
  2. $password = $_POST["password"];
  3. $_SESSION['username'] = $user;
  4. $_SESSION['password'] = $password;

is heel onveilig, je kan beter
  1. $_SESSION['username'] = $_POST["username"];
  2. $_SESSION['password'] = $_POST["password"];
Offline CelestialCelebi - 18/03/2005 15:57 (laatste wijziging 18/03/2005 15:59)
Avatar van CelestialCelebi PHP gevorderde Nee, je kan beter de username en het wachtwoord niet in die sessie zetten.

En er is niks onveilig aan die eerste code ten opzichte van de tweede, het is alleen onnodig.
Offline prorsoft - 18/03/2005 15:59 (laatste wijziging 18/03/2005 16:00)
Avatar van prorsoft PHP gevorderde EDIT: Oké, jij je zin
Offline CelestialCelebi - 18/03/2005 15:59
Avatar van CelestialCelebi PHP gevorderde Check de edit, ik bedoelde ten opzichte van de tweede code..

En dan nog is het heel onveilig.
Offline Fenrir - 18/03/2005 16:07
Avatar van Fenrir PHP expert Een wachtwoord/username in de session is toch niet onveilig?
Toch kun je beter het ID (zoals het in de database staat) in de session zetten.
Offline CelestialCelebi - 18/03/2005 17:02
Avatar van CelestialCelebi PHP gevorderde Doe dat maar ja (laatste zin uit de vorige post).
Offline ikkedikke - 18/03/2005 17:30
Avatar van ikkedikke PHP expert waarom is het onveilig om wachtwoorden in sessies te zetten? alles blijft server-side..
Offline DownForZ - 30/03/2005 02:23
Avatar van DownForZ HTML interesse kan je niet beter het nummer in je sessie zetten (de 0 of 1) is makkelijker te controleren lijkt me zo.
Offline CelestialCelebi - 30/03/2005 09:37
Avatar van CelestialCelebi PHP gevorderde Waarom het onveilig is? Als het iemand lukt op jouw server te komen en er zijn 40 leden ingelogd, heeft hij 40 wachtwoorden...

En je hebt het wachtwoord niet eens nodig, alleen het ID om te kijken wie er is ingelogd.
Offline Thomas - 30/03/2005 11:16
Avatar van Thomas Moderator Ja, een wachtwoord is een sessie is helemaal niet nodig.
Je bepaalt bij het inloggen of iemand de juiste gegevens heeft ingevuld. Zoja -> sessie krijgt inhoud, zonee -> sessie blijft leeg.

Zaken als $_SESSION['ingelogd'] (een boolean) zijn dus ook onnodig...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2026 Sitemasters.be - Regels - Laadtijd: 0.214s