Egel007
Gebruiker
- Lid geworden
- 4 dec 2007
- Berichten
- 271
Goedemorgen iedereen,
Ik moet voor school een inlogsysteem maken met behulp van PHP en een MySQL database. Hierbij moet een administratorpaneel gemaakt worden, waarmee de administrator o.a. gebruikers moet kunnen toevoegen. Vanwege het inloggen en uitloggen en het beveiligen van het administratorpaneel, moet er dus gewerkt worden met sessies.
Na 3 dagen knutselen (ik ben een beginner met PHP) heb ik eindelijk een script waarmee op elke pagina wordt gecontroleerd of de gebruiker is ingelogd. Dat werkt dus al prima. De basissessie waarop dus bij elke pagina wordt gecontroleerd is $_SESSION['ingelogd'] == 1. Maar voor het administratorpaneel heb ik zogenaamde gebruikerlevels in de database gezet. Level 3 is Administrator.
Er moet dus bij het administratorpaneel gecontrolleerd worden of de sessie $_SESSION['gebruikerslevel'] == 3 is. Als deze niet zo is, is de gene geen administrator en kan hij dus niet in het administratorpaneel.
Dat gedeelte begrijp ik, maar hoe maak ik na het inloggen de sessie gebruikerslevel?
Het gebruikerslevel moet ik uit de database halen. Ik heb werkelijk geen idee hoe ik dat precies moet doen. Ik heb nu onderstaande code (wat van toepassing is op mijn vraag). Zoals daar te zien is, heb ik dus al $_SESSION['gebruikerslevel'] == "". Tussen die "" moet dus een variabele of iets komen te staan waarmee het gebruikerslevel uit de database wordt gelezen.
Ik hoop dat iemand mij hiermee kan helpen.
Alvast hartelijk dank voor de hulp.
Mvg,
Egel
Ik moet voor school een inlogsysteem maken met behulp van PHP en een MySQL database. Hierbij moet een administratorpaneel gemaakt worden, waarmee de administrator o.a. gebruikers moet kunnen toevoegen. Vanwege het inloggen en uitloggen en het beveiligen van het administratorpaneel, moet er dus gewerkt worden met sessies.
Na 3 dagen knutselen (ik ben een beginner met PHP) heb ik eindelijk een script waarmee op elke pagina wordt gecontroleerd of de gebruiker is ingelogd. Dat werkt dus al prima. De basissessie waarop dus bij elke pagina wordt gecontroleerd is $_SESSION['ingelogd'] == 1. Maar voor het administratorpaneel heb ik zogenaamde gebruikerlevels in de database gezet. Level 3 is Administrator.
Er moet dus bij het administratorpaneel gecontrolleerd worden of de sessie $_SESSION['gebruikerslevel'] == 3 is. Als deze niet zo is, is de gene geen administrator en kan hij dus niet in het administratorpaneel.
Dat gedeelte begrijp ik, maar hoe maak ik na het inloggen de sessie gebruikerslevel?
Het gebruikerslevel moet ik uit de database halen. Ik heb werkelijk geen idee hoe ik dat precies moet doen. Ik heb nu onderstaande code (wat van toepassing is op mijn vraag). Zoals daar te zien is, heb ik dus al $_SESSION['gebruikerslevel'] == "". Tussen die "" moet dus een variabele of iets komen te staan waarmee het gebruikerslevel uit de database wordt gelezen.
Ik hoop dat iemand mij hiermee kan helpen.
Alvast hartelijk dank voor de hulp.
Mvg,
Egel
PHP:
if($_POST){
$gebruikersnaam = $_POST['gebruikersnaam'];
$wachtwoord = $_POST['wachtwoord'];
$query = "SELECT * FROM gebruikers WHERE gebruikersnaam = '$gebruikersnaam' AND wachtwoord = '$wachtwoord'";
$result = mysql_num_rows(mysql_query($query));
if($result==1)
{
$_SESSION['ingelogd'] = 1;
$_SESSION['gebruikerslevel'] = "";
echo "U bent succesvol ingelogd.";
}
else
{
echo "De ingevulde gegevens zijn onjuist!";
}