Problema utenti di diverso livello

taba93

Nuovo Utente
24 Nov 2007
21
0
0
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:

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"
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Come prima cosa sconsiglierei di utilizzare la funzione session_register() in quanto deprecata, sarebbe meglio utilizzare $_SESSION["parametro"] = "valore"; Inoltre nel file in cui accedi al DB non vedo session_start(); Poi, quando salvi in sessione i valori username e potere non vedo alcuna inizializzazione della varianile potere.
 

taba93

Nuovo Utente
24 Nov 2007
21
0
0
Per le prime due cose ho rimediato.
Per la terza invece non so come fargliela inizializzare. perchè se io entro come amministratore deve estrarre dal db la colonna potere dell'username che si è loggato e salvare la sessione "potere" con il "numero di potere" dell'user che si è loggato.
Ma non ho idea di come dirglielo...
avresti qualke idea in proposito?
Ciao!
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Immagino che tale informazione sia presente nel DB, magari nella tabella users sulla quale esegui la query. Tu effettui solamente il conteggio dei risultati per capire se l'utente è presente nel DB, ma non recuperi alcun tipo di dato.
Ora, supponendo che l'informazione sul valore della variabile potere sia presente nella tabella user potresti recuperarla in questo modo, nella parte di codice in cui effettui la query aggiungi:

PHP:
$sql="SELECT * FROM users WHERE username='$username' and passwd='$passwd'"; 
$result = @mysql_query($sql); 
$count = @mysql_num_rows($result);  

$record = mysql_fetch_row($result);
$potere = $record[indice_colonna];

Al posto di indice_colonna metti il numero della colonna contenente il valore di potere. Considera però che gli indici partono da zero.
 
Discussioni simili
Autore Titolo Forum Risposte Data
M problema registrazione nuovi utenti su pagine asp Classic ASP 1
L problema gestione utenti e sicurezza persone PHP 3
L Ruoli utenti - problema PHP 35
Web Designer Soluzione al Problema Plug-in "Utenti OnLine nelle ultime 24 ore" in MyBB MyBB 0
T Problema relativo alla registrazione di utenti in word press. WordPress 5
M Conteggio utenti online, problema al minuto 00 Classic ASP 2
T Problema con script di registrazione utenti su IE PHP 4
neo996sps Problema con tutorial registrazione utenti PHP 1
N problema:mail con allegato a piu utenti da db PHP 17
S Problema con un'iscrizione utenti in php PHP 3
Apeweb Problema con utenti connessi Classic ASP 0
D problema con registrazione utenti PHP 6
A problema con form utenti ed acquisto PHP 0
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1
M Problema Wi-Fi Linux Linux e Software 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
Daniele_Carrara Problema Aperture Mailup Email Marketing 5
F PROBLEMA ACCESSO INSTAGRAM Discussioni Varie 2
R Problema connessione db PHP 7
M problema if PHP 2
G Problema con Get page PHP 4
N Problema passaggio variabili tra pagine PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
H problema carrello woocommerce PHP 2
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
M Problema su query JOIN in tre tabelle PHP 0
S Problema esportazione tabelle Mysql in Excel PHP 0
G Problema ------- con Query PHP 1

Discussioni simili