• User

    Sbloccare elementi pagina dopo il LOGIN

    Buon pomeriggio ragazzi 🙂

    Dopo essere riuscito a creare la pagina di login ed averla resa funzionale, mi chiedevo se fosse possibile "sbloccare" degli elementi di una pagina, che da visitatore non sono visibili, nel momento in cui viene effettuato il login.
    Mi spiego meglio. Invece di creare 2 pagine di Index, ad esempio, in cui una contiene le informazioni "striminzite" del sito per i visitatori, mentre l'altra contiene i vari link sbloccati per la navigazione nel sito per gli utenti, vorrei crearne una sola, magari oscurando determinati link della pagina se non viene effettuato il login, per poi renderli visibili dopo l'operazione.
    Spero di essere stato chiaro nel spiegare il problema.
    A questo punto non mi rimane che confidare in un vostro aiuto dato che non saprei proprio da dove cominciare. :bho: Vi ringrazio anticipatamente 🙂


  • User Attivo

    Ciao icex, il login come l'hai fatto? Cookies? Sessioni? Puoi postare un pezzo di codice?


  • User Attivo

    Hai mai sentito parlare di SESSIONI?
    Puoi utilizzarla e fare un piccolissimo controllo su questa vedendo se sia vuota o meno (empty()) in caso sia falsa mostri ciò che devi proteggere, altrimenti li nascondi 🙂


  • User

    @Eduadie said:

    Hai mai sentito parlare di SESSIONI?
    Puoi utilizzarla e fare un piccolissimo controllo su questa vedendo se sia vuota o meno (empty()) in caso sia falsa mostri ciò che devi proteggere, altrimenti li nascondi 🙂

    Certo! E' così che ho impostato la pagina protetta! Però al momento se è empty la sessione, risulta un semplice "echo()" che mi mostra un messaggio del tipo "Pagina protetta". Io invece voglio rendere invisibili determinati elementi se la sessione è vuota, e renderli visibili se è aperta. Non una semplice frase su sfondo bianco 🙂 Spero di essermi spiegato correttamente.


  • User Attivo

    Potresti fare una cosa del genere:
    [PHP]
    if(isset($_SESSION['quello_che_è']))
    {
    echo "attenzione, questo contenuto si visualizza solo se la sessione esiste!!"; // in alternativa puoi provare anche con if(!empty())
    }
    [/PHP]


  • User

    @meis said:

    Potresti fare una cosa del genere:
    [PHP]
    if(isset($_SESSION['quello_che_è']))
    {
    echo "attenzione, questo contenuto si visualizza solo se la sessione esiste!!"; // in alternativa puoi provare anche con if(!empty())
    }
    [/PHP]

    Grazie della risposta Meis 🙂 comunque forse non mi sono spiegato bene: quello dell'echo() lo faccio già ma è proprio quello che non voglio fare! Voglio che mi vengano nascosti determinati oggetti prima del LOGIN (come ad esempio un container) e poi sbloccati dopo il LOGIN.. L'echo() è un'alternativa troppo semplice che non tanto me gusta 🙂


  • User Attivo

    Scusa icex, forse non mi sono spiegato bene, quell'echo è nascosto prima del login, si fa vedere solo se la sessione esiste, e cioè se la persona ha eseguito il login


  • User

    Sì sì sei stato chiaro sin dall'inizio. Io però non voglio che, prima del LOGIN, venga nascosto un"echo()". Voglio che venga nascosto un oggetto! (ad esempio il campo di testo, no?). Però dato che si tratta di codice html adesso dubito che si possa risolvere con una qualche istruzione in php, o sbaglio?


  • User Attivo

    Ehm..
    [PHP]
    echo "<form><input type='text' name='eccecc'></form>"; // puoi scrivere dell'html negli echo, basta che non usi le doppie virgolette, ma o ci metti una barra (") o li metti come apostrofi
    [/PHP]


  • User

    @meis said:

    Ehm..
    [PHP]
    echo "<form><input type='text' name='eccecc'></form>"; // puoi scrivere dell'html negli echo, basta che non usi le doppie virgolette, ma o ci metti una barra (") o li metti come apostrofi
    [/PHP]

    Ah ecco 🙂 questo è un consiglio che mi può tornare molto utile 🙂 non sapevo si potesse fare, grazie meis! 😄 comunque sapete per caso se si può manipolare il tag (non so se è appropriato chiamarlo così) "Visibility" degli oggetti? Ne ho sentito parlare googlando ma non ho capito bene come funziona... C'è qualcuno che me lo sappia spiegare?


  • User Attivo

    Credo che dovresti aprire una discussione nei CSS, per l'attributo (si dice attributo :D) visibility. Cosa intendi per manipolare?
    HTML:
    [HTML]<div class='visibile'>Visibile</div>
    <div class='invisibile'>Invisibile</div>[/HTML]

    CSS:

    .visibile {visibility:visible;}
    .invisibile {visibility:none;}
    
    

    Il risultato è che il primo si vedrà, il secondo no. Se vuoi migliori informazioni ti consiglio il sito della w3schools.

    Ciao!


  • User

    @meis said:

    Credo che dovresti aprire una discussione nei CSS, per l'attributo (si dice attributo :D) visibility. Cosa intendi per manipolare?
    HTML:
    [HTML]<div class='visibile'>Visibile</div>
    <div class='invisibile'>Invisibile</div>[/HTML]

    CSS:

    >.visibile {visibility:visible;}
    .invisibile {visibility:none;}
    
    >```
    
    Il risultato è che il primo si vedrà, il secondo no. Se vuoi migliori informazioni ti consiglio il sito della w3schools.
    
    Ciao!
    
    Ok grazie del consiglio ;) Comunque per adesso ho risolto semplicemente con un IF:
    
    [PHP]
    <?php
    if(empty($_SESSION['user'])) {
    ?>
    
    <!-- Qui tutto l'html ed eventuale codice Php da far comparire quando l'utente non è loggato. -->
    
    <?php
    }else{
    ?>
    
    <!-- Qui tutto l'html ed eventuale codice Php da far comparire quando l'utente è loggato. -->
    
    <?php } ?>
    
    [/PHP]
    
    Semplice semplice ma decisamente efficace ;) grazie ancora per la disponibilità meis ;) alla prossima! :D