Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    170

    gestione privilegi utenti php

    Ciao ragazzi. Come da titolo di discussione non riesco a gestire i privilegi degli utenti.
    spiegando velocemente il meccanismo vado a selezionare dal database il valore del campo "grado" per assegnarlo a $_SESSION['grado']. Dopodichè controllo in backend.php se if($_SESSION['grado'] == "member" ) { però non funziona....
    Potete aiutarmi? i campi nel DB sono tutti corretti

    Grazie

    Questo è quanto ho scritto:

    pagina index.php
    Codice PHP:
    <?php 
        
        session_start
    ();
        
        
        
    /*if(session_is_registered('Logged'))*/ 
        
    if (isset($_SESSION['auth']))  {
            
                
    header("location: backend.php");
        
        } else {
        
        

                if(!isset(
    $_POST['submit'])) { 
            echo 
    '<div id="box-login"> 
                    <form method="post" action="#" id="accesso_utenti">
                        <h3>Accesso Admin</h3>
                        <div id="user"><span> Username </span><input type="text" name="username"> <br /></div>
                        <div id="pass"><span> Password</span> <input type="password" name="pass"> <br /></div>
                        <input type="submit" value="Entra" name="submit" id="bottone">
                    </form>
                </div>'
    ;
        }
        else { 
            include 
    'config.php';
            include 
    'connect.php';
            
    $user mysql_real_escape_string($_POST['username']); 
            
    $pass mysql_real_escape_string($_POST['pass']);
            
             
    $query_grado mysql_query("SELECT * FROM users")or die(mysql_error()); 
             if(
    mysql_num_rows($query_grado)>0){ 
             while (
    $rows mysql_fetch_array($query_grado)) {         
                
    $livello $rows['grado'];
                
    $_SESSION['grado']=$livello;
                }
            }
        
            
            
    $query sprintf("SELECT * FROM users WHERE username  = '" .$user ."' AND pass= '" .sha1($pass)."'");
            
    $result mysql_query ($query$conn) or die("Errore nella query");
            
    $num_rows mysql_num_rows($result);
            
        
            if (
    $num_rows == '1') {

                
    header("location:" $path."/admin/backend.php");
                
    $_SESSION['auth']=$user;
                
                
                
    /*session_register("Logged");*/
                
                
    }
            else {
                
                echo 
    '<div class="benvenuto"> 
                        <p>Dati errati: </p> 
                        <a href="index.php">Ritenta</a>
                     </div>'
    ;
            }
            
            
        }
        
        }

    ?>
    pagina backend.php

    Codice PHP:
      <?php
    session_start
    ();


     if(!isset (
    $_SESSION['auth'] )) {
         echo 
    "effettua il login per accedere";

     } 
     
     if(
    $_SESSION['grado']  == "member" ) {
        echo 
    "non hai i privilegi per accedere";
     }   

     else
            {
        
            include 
    'config.php';
            include 
    'connect.php';
            
            
             
    $query_grado mysql_query("SELECT * FROM users")or die(mysql_error()); 
             if(
    mysql_num_rows($query_grado)>0){ 
             while (
    $rows mysql_fetch_array($query_grado)) {         
                
    $livello $rows['grado'];
                
    $_SESSION['grado']=$livello;
                
                }
            }
                echo 
    '<div class="benvenuto">
                
                        <p>
                            Benvenuto ' 
    .$_SESSION['auth'].'! sei collegato al pannello di amministrazione. <br/>
                            scegli quale pagina vuoi gestire! 
                        </p> 
                        
                        <p> <a href="logout.php">Logout</a> </p>
                        
                            <a target="_blank" href="../index.php">torna al sito</a>
                     </div>'
    ;            
            
            
    ?>
            
            
            <?php ?>

  2. #2
    Ma

    $_SESSION['grado'] == "member"

    significa che l'utente è autorizzato o che NON è autorizzato?

    Perchè il tuo codice lo tratta come se significasse NON autorizzato.

    In più le tue due query che ricavano il grado non tenegono per niente in conto di quale utente si tratti, infatti non usano nè username nè password inserite...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.