Hallo allemaal,

Ik ben al een tijdje aan het zoeken op deze site, maar ik kan helaas geen forum bericht of tutorial vinden waarmee ik het volgende kan realiseren.

Ik zou graag de site navigatie afhankelijk willen maken van de user die inlogt. Bijvoorbeeld een externe gebruiker die inlogt krijgt de volgende navigatie knoppen te zien:
- Home
- Nieuw bericht
- Overzicht berichten
De interne gebruiker zou de volgende navigatie knoppen moeten kunnen zien:
- Home
- Update bericht
- Sluit bericht
- Overzicht berichten
Als laatste zou de admin alle 5 unieke knoppen moeten zien na het inloggen.

Ik heb inmiddels gelezen dat zoiets zou kunnen door b.v. in de database achter username en password een "niveau" aan de gebruiker toe te wijzen, zoals 1 voor extern, 2 voor intern en 4 voor admin.

Ik heb alleen geen idee hoe ik het niveau kan aanroepen bij het inloggen en hoe ik op dat moment dan de juiste navigatie op de pagina kan laden. Ik zit zelf te denken om 3 tables (extern, intern, admin) aan te maken in de db en daarin bijvoorbeeld de veldnaam in te zetten ("Home") met als standaardwaarde de link naar de webpagina ("index.php").

Is er iemand die me kan vertellen of ik in de juiste richting zit te denken en die me kan adviseren hoe e.e.a. in queries te gieten?

Alvast bedankt!
Op PHPFreakz staat hier een aardig artikel over. Het niveau van een gebruiker zet je gewoon in een kolom in de gebruikerstabel. Je hebt zelden meerdere tabellen nodig met zo goed als dezelfde velden. De bitwise operator "&" werkt ook prima in SQL.
Maffe firefox doet dingen graag dubbel. En het ligt niet aan Adblock of Greasemonkey blijkbaar, want ik heb sinds de vorige keer al m'n plugins uitgeschakeld. Dan toch een fout van PHPHulp & Firefox samen? Encoding bug? Plaatjes die naar dezelfde pagina verwijzen? Of is het mijn wifi-verbinding?
Hallo Jelmer,

Bedankt voor je link!
Het meeste denk ik te begrijpen, alleen hoe krijg ik de gebruikersnaam en niveau in $_SESSION['userdata']?

Ik gebruik het volgende loginscript:
<?php
ob_start();
include("login details");
$tbl_name="Users"; // Table name


// username and password sent from signup form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

$sql="SELECT * FROM $tbl_name WHERE Name='$myusername' and Password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $myusername, $mypassword and redirect to index file
session_register("myusername");
session_register("mypassword");
header("location:index_logged.php");
}
else {
header("location:index_normal.php");
}
ob_end_flush();
?>

Dit functioneert op zich, maar de tutorial baseert zich op het feit dat je de userdata (usernaam en niveau) samen in een sessie kunt plaatsen...
Mijn vraag is dan ook, hoe pluk ik het niveau uit de db en zet beide om in $_SESSION['userdata']

Alvast bedankt voor je/jullie hulp!

Reageren