• User Attivo

    Piccola annotazione.
    Come ti avevo già detto, questo:
    [PHP]<?php
    $utente= "utente";
    {
    echo $_COOKIE['utente'];
    }
    ?>[/PHP]
    è totalmente e assolutamente INUTILE.
    Perché setti la variabile utente? tanto non la usi mai!
    E le parentesi graffe a cosa servono? Non hai aperto nessuna funzione o condizione...
    Semmai puoi fare in questo modo:
    [PHP]<?php
    $utente= $_COOKIE['utente'];
    echo $utente;
    ?>[/PHP]
    in questo modo ha senso, così se hai bisogno di usare nuovamente il cookie, basta che richiami la variabile utente!


  • User

    Funziona!.
    Ma io faccio un po' di confusione.


  • User

    Ma con i COOKIE cosa conviene fare?, anche perche per l'area privata conviene usare le sessioni.


  • User Attivo

    passare l'id e il nome dell'utente collegato, magari il fuso orario piuttosto che qualche configurazione personalizzata (colori di sfondo, grandezza testo, tipo font).
    Nessuno di questi è un dato sensibile, anche perché una volta che intercettano l'id utente poi che fanno?
    I dati sensibili invece sono quelli a rischio.
    Quindi tutto quello che può essere altamente privato e segreto è meglio che passi per le sessioni.


  • ModSenior

    Attenzione a non usare i cookie per passare l'id dell'utente, senza fare poi ulteriori controlli in ogni pagina, perchè a modificare il cookie e impostarsi l'id dell'amministratore o comunque di un altro utente è questione di qualche secondo.
    Le sessioni da questo punto di vista garantiscono maggior sicurezza in quanto il visitatore non può modificarel cosi facilmente.


  • User Attivo

    basta fare una codifica con la funzione
    base64_encode()
    e recuperarla con
    base64_decode()

    Chi si sbatte per capire quale sia il codice allora merita di entrare con un altro id 😉


  • ModSenior

    Merita fino ad un certo punto. :giggle:


  • User

    Sono quì.
    Se si usano le sessioni, bisogna scrivere in tutte le pagine, a inizio pagina, prima di tutto:

    [php]
    <?php
    session_start();
    ?>
    [/php]

    Da quello che ho capito si possono usare contemporaneamente anche i
    cookie, dove scrivo il cookie?

    Esempio:

    [php]
    <?php
    session_start();
    ?>

    <?php
    setcookie ("nome","valore",time()+43200,"/");
    ?>
    [/php]

    Così?, o vanno invertiti?, uno dei due avrà la precedenza?.

    Anche nelle sessioni viane creato un cookie di sessione, chiamato: PHPSESSID, si puo' usare allo stesso modo di un cookie?.

    Ciao!!Ciao!! :ciauz::ciauz::ciauz:


  • User Attivo

    Allora pensa alle sessioni come a una bottiglia d'acqua e i cookie come ad una bottiglia di coca-cola.
    Quando vai a tavola a mangiare puoi bere sia acqua che coca-cola, giusto? E non importa in che ordine le bevi, l'importante è che ti disseti.
    Così è.
    La sessione la apri e la chiudi (alla fine di ogni pagina) solo dove vuoi utilizzare le sessioni. I cookie li setti e li usi come più ti aggrada.
    Sono due cose simili ma distinte. Quindi non pensarle come relazionate tra loro.
    Sono due bottiglie differenti.
    Diverso è se mi dici che vuoi aprire due sessioni con session_start() ripetuto.
    Essendo la sessione un contenitore, una volta che apri il contenitore (con session_start() appunto) puoi metterci dentro tutte le sessioni che vuoi, ma la scatola rimane una sola.
    I cookie, dicevo, sono una cosa totalmente a se stante (così come le sessioni) e non dipende da niente e nessuno. L'unico inconveniente, quasi nullo al giorno d'oggi ma bisogna sempre tenere conto degli imprevisti, è che l'utente che visita il sito abbia i cookie disabilitati.
    Sta di fatto che come i cookie non ce n'è! Sono comodissimi!
    Del PHPSESSID non te ne preoccupare ora. Impara a usare bene questi due strumenti e poi occupati di cose un pò più tecniche, non sei d'accordo? 😉


  • User

    Spiegazione molto interessante.
    Però in ogni caso uno dei due sessioni o cookie, in certi casi sarà il più adeguato?.
    Tipo (sessioni)area protetta, (cookie) carrello della spesa.
    Da come ho capito sei più per i cookie.
    Io con i cookie sono riuscito a passare in tutte le pagine il nome dell'utente che compilava un form.
    Volevo sapere se si poteva inviare più di un cookie, e quanti.

    Ciao! a presto.


  • User Attivo

    Infiniti.
    Setti tutti i cookie di cui hai bisogno, proprio come hai fatto per il nome utente.
    $_COOKIE['nome']
    $_COOKIE['cognome']
    $_COOKIE['id_utente']
    $_COOKIE['fuso_orario']
    $_COOKIE['automobile_preferita']
    $_COOKIE['quotazioni_borsa']
    ecc.....
    e qualsiasi cosa tu abbia bisogno.
    Le sessioni, come si diceva, sono adatte ai DATI SENSIBILI.
    Un id utente non è un vero e proprio dato sensibile, anche se è meglio stare attenti.
    Si può codificare come ho detto nel post precedente così hai una protezione in più con due parole in più.


  • User

    Ok!, ma per recuperarli uso sempre dei form?.
    Ciao! grazie.


  • User Attivo

    ma per recuperarli uso sempre dei form?
    Sai che non ha senso questa frase, vero? 😉
    li crei con la funzione setcookie() e li richiami con $_COOKIE[]
    E' davvero semplice così come te la dico.
    Non pensare sia chissà quanto complicato!


  • User

    Ho capito che per crearli uso setcookie() e per richiamarli uso $_COOKIE[].
    Però con i cookie si possono recuperare i dati di un form?
    Un cookie puo avere un suo valore già definito, del tipo:( Ciao! benvenuto nel mio sito)?.
    E' possibile invare un cookie con un link?

    Cosa ne pensi?
    Il tutto si puo fare? ho sto sbagliando?.

    Ciao!!!

    :ciauz::ciauz:


  • ModSenior

    Puoi recuperare i valori inviati dall'utente mediante un form, e poi con la funzione setcookie impostare un cookie avente quel valore.
    Puoi inviare un cookie contenente un url, sempre che dare ciò abbia un utilità.


  • User

    OK! Grazie!

    Comincio a vedere la luce, anche perchè molti dubbi stanno diventando certezze.
    I VOSTRI Consigli sempre utili.

    Ciao!! Ciao!!!

    :ciauz::ciauz: