Visualizzazione risultati 1 fino 2 di 2

Discussione: problemi pagine personalizzate

  1. #1
    Guest

    Predefinito problemi pagine personalizzate

    Salve a tutti ragazzi,

    Ho un piccolo problema, sperando che tutti voi mi potete aiutare a risolverlo. Ho costruito una pagina di iscrizione.php, poi una di login.php e una paginaris.php. Il punto è questo, uno si iscrive al sito, viene inviato un'email di conferma, poi dopo quest'email che ricervà, si clicca sul link che c'è e l'account viene attivato. Quindi c'è un'altra pagina che si occpua solo di attivare l'account. E mi dicie pincopallino è stato attivato. Ora facendo il login digitando username e password (ad esempio: username: pincopallino pass: pallino) , lui entra nella paginaris.php. E fino a qua tutto ok. Il problema è il seguente. Se si registra un altra persona, ammettiamo pincopallino2 con pass: pallino, questa persona si conneterà con il suo username e password citati prima, però verrà reindirizzato sempre alla paginaris.php comune sia per pincopallino che per pincopallino2. Ora se scrivo sulla paginaris.php ad esempio "ciao" vicino al tasto di logout che ho fatto, sia pincopallino che pincopallino2 vede la scritta "ciao". Ora vorrei fare in modo che pincopallino2, non veda il "ciao" vicino al tastino "logout". Ma vede solo il tastino "logout" comune ad entrambi. Come posso fare ciò ??? Non vorrei nemmeno creare ad ogni utente una sua pagina perchè sarebbe una gestione assurda. Considerate che tutto quanto viene gestito da un db. Mi potetet dare consigli al riguardo per favore ???? Sono rimasto impigliato, e non so come andare avanti Grazxie a tuii.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,253

    Predefinito

    Dovresti aggiungere un campo al database, salvando il livello dell'utente.

    Ammettiamo che pincopallino abbia questo campo (livello) settato a 1, mentre pincopallino2 abbia il livello settato a 2.

    In questo modo, puoi scegliere se mostrare o no a seconda del livello le varie scritte:

    Codice PHP:
    if($row['level'] == 2)
    echo
    'ciao!';
    p.s: dipende da come vuoi strutturare i livelli. Puoi utilizzare un numero da 1 a n, quindi aver n livelli; oppure, se si trattano di permessi, forse sarebbe più utile utilizzare la rappresentazione binaria, non so se hai presente come funziona chmod, o come son organizzati i registri di un microcontrollore:

    Una cosa del tipo:


    Codice:
    Account      vari campi   level
    
    utente 1:   ................   2 (sarebbe 00...0010 in binario)
    utente 2:   ................   1 (sarebbe 00...0001 in binario)
    utente 3:   ................   5 (sarebbe 00...0101 in binario)
    utente 4:   ................   7 (sarebbe 00...0111 in binario)
    utente 5:   ................   8 (sarebbe 00...1000 in binario)
    Quindi, per vedere se un utente qualsiasi ha un determinato permesso, devi usare la and binaria ( & ).
    esempio:
    Codice PHP:
    if($row['level'] & 1)
    {
    //questo utente ha il permesso 1
    }
    if(
    $row['level'] & 7)
    {
    //questo utente ha i primi 3 permessi (7 è 111 in binario)
    }
    Quindi, potresti settare delle costanti che identificano i permessi. Ad esempio:

    Codice PHP:
    define('MODERATORE_SEZIONE_1',1);
    define('MODERATORE_SEZIONE_2',2);
    define('ADMIN',4);
    define('ALTRO',8);
    In questo modo, invece di ricordarti che posizioni rappresentano i vari bit, puoi utilizzare le costanti come "maschere"...

    Comunque non mi dilungo si questo argomento, anche perché forse è OT e/o non ti interessa... Se ti interessa e non hai capito, cercherò di spiegar meglio .

    Ciao!
    Ultima modifica di alemoppo : 31-10-2012 alle ore 19.38.22

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •