• ModSenior

    è sufficiente inserire un campo nel database che ti rappresenti il grado, poi dipende cosa devi far fare ad ogni grado, se gestire pagine private per ogni grado o altro


  • User Attivo

    si esatto...per esempio il tema di esami di qualche anno fa diceva:
    "gli utenti siano distribuiti in tre gruppi: amministratore,docente,studente tali che:
    -un amministratore abbia accesso a tutte le aree protette del portale;
    -un docente abbia l'accesso a tutte le aree protette tranne che all'area di amministrazione;
    -uno studente abbia accesso alla propria area protetta e non abbia accesso nè all'area di amministrazione nè all'area riservata al gruppo docente;"


  • ModSenior

    Allora dopo che aggiungi il campo hai 2 strade che puoi fare:
    la prima la pià semplice al login aggiungi una variabile di sessione con il grado, e nel controllo sulla pagina primava fai un confronto anche su quella variabile. Molto veloce da fare come modifica...

    la seconda sarebbe fare una query su ogni pagina e ad ogni pagina controlli il gruppo, in modo da poter aggiornare i permessi senza che l'utente debba riloggarsi ogni volta, nemmeno cosi difficile da implementare...


  • User Attivo

    ok grazie!!!
    speriamo ke vada bene


  • ModSenior

    Se hai problemi nel realizzarlo basta che posti 😄


  • User Attivo

    grazie


  • User

    grazie!


  • Consiglio Direttivo

    😄

    Bel lavoro davvero 😉

    A seguito di una mia recente esperienza volevo sottoporti un problemino incontrato su un hosting, così magari si implementa nello script.
    Ovvero la difficoltà che ho incontrato e' che nonostante al logout si faccia l'unset e destroy delle sessioni, a causa, credo, delle impostazioni del register global, la sessione risulta ancora "viva", e finché non chiudi il browser puoi rientrare nell'area privata come e quando vuoi senza riloggarti.
    Io alla fine ho risolto azzerando l'array di sessione:
    $_SESSION=array();
    e facendo così mi risolvo il problema 😄

    Pensi sia la soluzione migliore o sarebbe meglio usare altro?


  • ModSenior

    Ho provato il mio script in locale con le register global sia a ON che OFF e sembra tutto normale... credo non dipenda quelle, ma da qualcos'altro...

    Ho provato a cercare in giro... l'unica cosa che ho trovato è questa:
    [PHP]if (isset($_COOKIE[session_name()])) setcookie(session_name(), '', time() - 90000);[/PHP]

    non ho idea se funzioni, ma puoi provare...


  • Consiglio Direttivo

    grazie 😄
    ti faccio sapere 😉


  • User Attivo

    beh... cmq il cookie per "distruggerlo" puoi anche richiamare la funzione senza impostare un numero negativo 😉

    l'ho trovato scritto da qualche parte ultimamente e ho tenuto a dirvelo...


  • User

    Sentite ragazzi ma se io volessi inserire anche il campo città nella form di registrazione,
    come semplice campo da memorizzare nel database
    e non come campo per il login come posso fare?

    grazie mille.


  • User Newbie

    Buonasera,
    ho scaricato questo utilissimo tutorial: .../forum/php-mysql/81902-tutorial-area-privata.html
    Premesso che ha funzionato subito al primo colpo, ho modificato un po' gli script per adattarli ad un database SQL esistente.
    Chiedo ora gentilmente se è possibile far accedere alla pagina privata solo quegli utenti registrati che hanno sottoscritto anche la newsletter e che hanno un livello >0.
    In LOGIN.PHP, nell'istruzione:

    
    $query = mysql_query("SELECT user_id FROM our_users WHERE username = '$username' AND user_password = '$user_password' LIMIT 1");
    
    

    (che in questa forma funziona benissimo)
    vorrei aggiungere:

    
    user_level > 0 AND user_id > 1 AND newsletter=1
    
    

    In pratica, l'accesso sarà consentito se il livello dell'utente è superiore a 0 e non avere l'ID 1 che è quello dell'Anonymous... ma per quanto inserisca, all'inizio o alla fine della query, queste istruzioni, non funziona, e mi restituisce l'errore tipo: user e password errati. Sono un testone! :arrabbiato:
    Inoltre, gradirei sapere se è possibile avere più di una pagina privata. Per esempio, dopo aver effettuato il Login, l'utente potrà scegliere se visualizzare (con un menù) la pag. 1 o la 2 o la 3, ecc. (tutte pagine riservate, ovviamente).
    Spero di essermi spiegato bene, sono alle prime armi, abbiate pazienza, grazie, Michele.


  • User Newbie

    Buonasera,
    sono di nuovo qui, perché penso di aver risolto... mancava un AND... :mmm:
    Così mi funziona benissimo:

    
    $query = mysql_query("SELECT user_id FROM our_users WHERE username = '$username' AND user_password = '$user_password' AND user_level > 0 AND user_id > 1 AND newsletter=1 LIMIT 1");
    
    

    Resta ancora il problema delle pagine...
    Grazie lo stesso, ciao, Michele.