Check per login multi utente

di il
1 risposte

Check per login multi utente

Ciao a tutti, sono nuovo del forum, premetto che ho spulciato i post passati per cercare di capire come agire per il mio progetto, ma non sono riuscito a capire dove sbaglio, spero possiate aiutarmi, ho delle difficoltà a far funzionare un login multi utente, vi spiego il progetto che devo realizzare per l'università per gestire il sito di una scuola.
In pratica vengono gestiti 4 tipi di utenti: Admin, Professor, Student, Staff (personale ufficio), ho già realizzato le 4 sezioni dedicate ad ogni utente, dove l'admin gestisce le altre 3 categorie, i docenti che caricano le lezioni ed il materiale didattico, gli studenti che si limitano a visualizzare il materiale didattico e le lezioni inserite nel database dai docenti, e lo staff che visulizza alcune info sugli studenti come ad esempio il loro curriculum. Le sezioni li ho realizzate adesso devo solo dirigere ogni utente alla sua area riservata. Le mie difficoltà sono sul login multi utente, ho creato nella tabella categoria un campo nomecategoria che nel momento della registrazione scelgono gli utenti se è: docente, studente o staff, tranne per admin che se non erro dovrebbe andare predefinito altrimenti gli altri si potrebbero registrare pure come admin.
Quindi nel database abbiamo una tabella:
registrazione (idRegistrazione,email,username,password,cognome,nome)
una:
categoria(idCategoria,nomecategoria,ruolo,idReg)

dove ruolo è la mansione che hanno gli utenti tipo gli studenti: dottorando, laurenado ecc.
i docenti: ordinario, associato, direttore ecc.
lo staff: ufficio, manager personale ecc.
mentre idReg e la chiave esterna per registrazione(idRegistrazione)
poi altre tabelle che per il login e la registrazione non vengono coinvolte, ma usate nel momento delle manzioni delle varie categorie spiegato sopra.
Sin quì tutto ok, adesso per il login una volta che gli utenti inseriscono username e password vengono dirottati nella pagine specifiche con check.php che gestisce lo smistamento delle categorie, non capisco dove sbaglio perchè nonostante inserisco username e password corretti mi fà entrare, solo nella pagina per lo staff, la terza area, ecco il codice della pagina:

<?php



include ('DBConfig.php'); 





// preleviamo username e password per il login

$username = $_POST['username']; 

$password = md5($_POST['password']);





// protezione MySQL injection

//$username = mysqli_real_escape_string($link, $_POST['username']);

//$password = mysqli_real_escape_string($link, $_POST['password']);



$sql="SELECT * FROM registrazione as r,categoria as c WHERE r.idRegistrazione=c.idReg and username='$username' and password='$password'";
$result = mysqli_query($link, $sql);


$row=mysqli_fetch_array($result,MYSQLI_ASSOC);





$_SESSION['nomecategoria'] = $row['nomecategoria']; 	

	  

	  

	  if (isset($_SESSION['nomecategoria']) && $_SESSION['nomecategoria'] == "Professor")

	  {

					header("location:dashboard_docente.php");

					//$_SESSION['username'] = $username;

					//$_SESSION['password'] = $password; 

					

       } //qui dovremmo generare l'interfaccia per il docente

    

   elseif (isset($_SESSION['nomecategoria']) && $_SESSION['nomecategoria'] == "Student")

	  {

					header("location:dashboard_studente.php");

					//$_SESSION['username'] = $username;

					//$_SESSION['password'] = $password;

       }//qui dovremmo generare l'interfaccia per lo studente

	 

	 elseif (isset($_SESSION['nomecategoria']) && $_SESSION['nomecategoria'] == "Staff")

	  {

					header("location:dashboard_personale.php");

					//$_SESSION['username'] = $username;

					//$_SESSION['password'] = $password;

       }//qui dovremmo generare l'interfaccia per lo staff

    



//Se l'username e la password non coincidono redirect to homepage with message=1

else {

    echo '

    <script language="javascript" type="text/javascript">

window.location.href="main.php?message=1";

</script>';



}

?>

1 Risposte

  • Re: Check per login multi utente

    Ragazzi mi aiutate per favore, dove sbaglio, una volta che estraggo il campo nomecategoria che fà parte del form di registrazione,facendo il join tra registrazione e categoria, gli utenti scelgono a quale appartengono, lo estraggo e lo metto in sessione, perchè mi và nonostante metto username e password per docente o studente sempre nel 3° elseif della categoria staff?
Devi accedere o registrarti per scrivere nel forum
1 risposte