Ciao a tutti...ho un problema nel login di utenti di diverso livello (i livelli sono 2: amministratore e moderatore):
nella pagina che mi controlla se il login è giusto il codice è questo:
poi ho la pagina login_successfull.php che ha questo codice e che ci manda ad una pagina di amministrazione dove ci sono scritte tutte le cose che si possono fare e a questa vi possono accedere tutti (moderatori ed amministratori):
Da lì poi uno sceglie per esempio di andare a modificare gli utenti cliccando su un link k ci manda alla pagina usermanager.php (a questo punto in questa pagina c'è un if che dice che se la sessione registrata del livello dell'utente è pari a 1 (amministratore)gli fa vedere il contenuto della pagina. altrimenti non gliela fa vedere.
il codice della pagina è questa (ometto tutto il codice effettivo di usermanager.php xke è inutile ai fini del problema in quanto so che quello funziona perfettamente):
Mi sapreste dare una mano? grazie
comunque il problema è che sembra che non salvi alcuna sessione del livello perchè mi dice che non ho le autorizzazioni per entrare nonostante il mio livello sia settato a "1"
nella pagina che mi controlla se il login è giusto il codice è questo:
PHP:
<?php
include "includes/config.inc.php";
//Connessione al db mysql
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione al database. Verificare i parametri nel file config.inc.php");
else {
}
//Selezione del database
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); //connessione al database
$username = $_POST['username'];
$passwd = $_POST['passwd'];
$sql="SELECT * FROM users WHERE username='$username' and passwd='$passwd'";
$result = @mysql_query($sql);
$count = @mysql_num_rows($result);
if($count==1){
session_register ("username");
session_register ("potere"); // è il livello dell'utente
header("location:login_success.php?user=$username");
}
else {
echo "Attenzione username o password errati!<br><br>Reinseriscili cliccando <a href=\"http://www.rainerum.it/media/docenti.php\">QUI</a>.";
}
?>
poi ho la pagina login_successfull.php che ha questo codice e che ci manda ad una pagina di amministrazione dove ci sono scritte tutte le cose che si possono fare e a questa vi possono accedere tutti (moderatori ed amministratori):
PHP:
<?php
session_start();
$username = $_GET['user'];
if(session_is_registered(username)) {
echo"Benvenuto $username! Accedi da <a href=\"index.php\">QUI</a> all'inserimento di contenuti.";
}
else {
header('location:login.php');
}
?>
Da lì poi uno sceglie per esempio di andare a modificare gli utenti cliccando su un link k ci manda alla pagina usermanager.php (a questo punto in questa pagina c'è un if che dice che se la sessione registrata del livello dell'utente è pari a 1 (amministratore)gli fa vedere il contenuto della pagina. altrimenti non gliela fa vedere.
il codice della pagina è questa (ometto tutto il codice effettivo di usermanager.php xke è inutile ai fini del problema in quanto so che quello funziona perfettamente):
PHP:
<?php
session_start();
if ($_SESSION["potere"] == "1"){
//fai vedere tutto
}
else {
echo "Non sei autorizzato ad entrare";
}
?>
Mi sapreste dare una mano? grazie
comunque il problema è che sembra che non salvi alcuna sessione del livello perchè mi dice che non ho le autorizzazioni per entrare nonostante il mio livello sia settato a "1"