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 CMS (Content Management System) 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
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
E problema selezione sfumata Photoshop 2
K [PHP] Problema con variabili concatenate. PHP 1
A Problema filtro fluidifica Photoshop Photoshop 1
H Problema Bordi Scontorno Photoshop 1
O problema con query PHP 4
R Problema installazione Realtek WiFi USB rtl8821 Reti LAN e Wireless 1
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
Y Problema percorso file in rete PHP 1
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
P Problema acquisizione clienti Webdesign e Grafica 1
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 11
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
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

Discussioni simili