Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    residenza
    Caserta
    Messaggi
    44

    Utenti con livelli in PHP

    Ciao a tutti e rieccomi qui...

    Vorrei fare alcune pagine, dopo il login, con utenti a livelli diversi:

    0: utente
    1: admin

    Ho previsto, nella tabella utenti, le seguenti colonne:
    ID_USER (PRIMARY)
    USERNAME
    PASSWORD
    LIVELLO

    Quindi il check della pagina sarà fatto sul livello e in base a tale check gli darà accesso o meno alla pagina...

    Sto cercando di capire meglio, una volta effettuato il login, come gestire le sessioni e i livelli in PHP... qualcuno può darmi qualche link che sia utile ad un principiante? Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2010
    residenza
    Caserta
    Messaggi
    44
    Codice PHP:
    <?php
    if($session_level 0)
    header("Location: imedic.php");
    else    if (
    $session_id =! 0)
    echo 
    '<h1>Ciao, ' $session_username .'! Bentornato!</h1>' ;
    else
    echo 
    '<h1>Effettua il <a href="login.php">login</a>.</h1>' ;
    ?>
    Io ho inserito questo file come mainframe.php proveniente dal codice presente in questo altro topic..
    http://forum.html.it/forum/showthrea...readid=2914721

    Solo che non mi fa il check del livello o del login, e non ho capito come si fa.... scusatemi per la dabbenaggine... :/

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    14
    La struttura del DB va bene.

    Con una query verifichi corrispondenza tra login e password e ricevi il livello.
    Se e' tutto ok lo salvi nelle SESSION e ogni script successivo verifichi la session e se il livello e' corretto per quel che deve fare.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    14
    Butto at cazzum, scusami, poi la ricontrollo...

    codice:
    <?php
    // PUOI METTERE LE FUNZIONI IN UN FILE ESTERNO
    function controllaUtenteLoggato() {
      if (isset($_SESSION['utente_loggato']) AND $_SESSION['utente_loggato'] == 1) {
        return $_SESSION['utente_livello'];
      } else {
        return false;
      }
      
    function eseguiLogin($username,$password) {
      // esegui la query come meglio credi PDO/MySQLi/Pg ... ecc...
      $query="SELECT * FROM utente WHERE username=\"$username\" and password=\"$password\"";
      // adattalo al tuo DB
      if ($risultato) {
        $_SESSION['utente_livello'] = $risultato['livello']; // <-- se usi array come risultati
        $_SESSION['utente_loggato'] = 1; 
      }
    }
    
    // CONTROLLO DA ESEGUIRE IN OGNI SINGOLA PAGINA
    $livello=controllaUtenteLoggato;
    if ((!$livello)||($livello<LIVELLO_RICHIESTO) {
      // esegui procedura di errore  
    } else {
      // esegui procedura autorizzata
    }  
    ?>
    Ultima modifica di drstefa; 05-09-2014 a 15:06

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    residenza
    Caserta
    Messaggi
    44
    Grazie per l'aiuto!

    Perdonami, ma se faccio così...

    Codice PHP:
    <?php
    if ($_SESSION['LIVELLO'] < "2")
    {    
    header ('Location: errore.php');
    } else {
    echo 
    "Bentornato,"$session_username .".";
    }
    ?>
    non va bene?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2010
    residenza
    Caserta
    Messaggi
    44
    Chiaramente aggiungendo un

    session_start(); all'inizio sembra andare...

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.