Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Registrazione e login utenti con diversi privilegi

    Salve a tutti. Avrei bisogno di creare un sistema di login e registrazione per una piattaforma web che sto creando. Premetto che da circa 2 mesi ho iniziato a studiare PHP, e da qualche giorno sto iniziando a studiare l'interfacciamento con i database MySql.

    Il mio obbiettivo è quello di creare un sistema di registrazione e login degli utenti. Successivamente, dalla lista degli utenti registrati, devo poter selezionare degli utenti da me scelti, facendoli salire di livello, dando a loro il privilegio di accedere ad aree riservate del mio sito. Diciamo che i livelli di utenza differenti sono 3. Ogni utente di livello diverso, quando navigherà sul sito, avrà o meno dei link che puntano ad aree protette, a seconda del livello a cui appartiene.
    Successivamente dovrò avere anche la possibilità di far degradare di livello gli utenti.

    Il mio grande dubbio, è sapere se fosse possibile creare delle pagine dinamiche, che a seconda del livello di utente loggato che le sta visualizzando, mostrano o meno dei contenuti. Quindi mi chiedevo se questa cosa fosse fattibile utilizzando la stessa pagina oppure occorre creare pagine differenti per ciascun livello di utenza.

    Capisco di essere particolarmente confuso a riguardo, spero possiate aiutarmi, delucidandomi le idee e consigliandomi della documentazione a riguardo. Ringrazio tutti in anticipo, saluti.

  2. #2
    Premetto che anche io sono al secondo giorno di studio dei database mysql (come autodidatta) e che anche io ho iniziato a studiare php da poco (circa una settimana).

    Comunque non è necessario creare diverse pagine, basta creare un database con, oltre ai dati di ogni utente, anche una colonna "livello", a cui potrai assegnare il livello di utenza per ogni utente. Poi, nelle pagine, ti basta inserire come codice php o delle istruzioni "if", "else" ed "elseif", o "switch", per visualizzare la pagina in modi differenti a seconda del livello di utenza che avrai caricato dal database.

    Spero di esserti stato utile, anche se sono sicuro che altri utenti del forum più bravi di me ti forniranno informazioni migliori.
    Fammi sapere!

  3. #3
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    potresti usare anche le sessioni, per evitare di scivere cicli IF etc...
    faccio un esempio:
    Codice PHP:
    <?php
    // connessione al DB
    if (preg_match("/^[a-z0-9]{4,8}$/i"$userid)) //userid almeno 4 caratteri
    {
    $sql "SELECT * FROM tabella where userid = '".$userid."' and password_user = '".$password_user."' and autorizza = 'Y'" //il campo autorizza io lo uso quando gli utenti si registrano non hanno subito a disposizione il tutto, solo previa autorizzazione dell'amministratore del sito
    $result mysql_query($parametri_connessione) or die("Errore ".mysql_error());
    //Quando l'utente fa la login, recuperi l'id e poi fai la query di update: 
    $sql2="UPDATE tbl_user SET accessi=accessi+1 WHERE userid ='$userid'"//questo solo per vedere quante volte si e' loggato
    $result2 mysql_query($parametri_connessione) or die("Errore ".mysql_error());

    $num_rows mysql_num_rows($result) ;

    if ( 
    $num_rows != ) {
        
    // trovato
        
    $row mysql_fetch_array$result );
        
        
    session_register"loggato" );
        
    $loggato true;

        
    session_register"id" );
        
    $id $row["id"];

                 
    session_register"livello" );
        
    $livello $row["livello"];

    header ("Location: directory/dove_li_mandi.php");

    } else {
        
    // non trovato
        
    header ("Location: index.php?err=1"); 
             }
          }
    ?>
    Ora gestisci la pagina: dove_li_mandi.php
    Codice PHP:
    <?php
    session_start
    ();
    if (( 
    $loggato == true ) and ( $livello == "livello_assegnato all_utente"))
    {
                   
    //gestisci il tuo livello
    }else {
                  
    //non_so_vedi_tu
    }
    echo 
    "il tuo livello :";
    echo 
    $livello;
    ?>
    spero che ti possa servire, e' semplice ma efficace.
    se hai problemi posta pure.
    Ciao
    ¿Hasta la pasta?

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.