Visualizzazione risultati 1 fino 19 di 19

Discussione: Dare all'utente la scelta se salvare il cookie o meno

  1. #1
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Post Dare all'utente la scelta se salvare il cookie o meno

    salve,
    sto creando un sito in html e php per aree riservate ad ogni utente.
    Ora vorrei dare, attraverso un checkbox, dare la scelta all'utente se salvare il cookie per accedere direttamente la prossima volta senza eseguire i l login o meno.
    come posso fare?
    questa è la pagina di cui vi parlo

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Inserisci la checkbox con attributo id, per poi controllarlo, prima di eseguire l'action del form, con questa funzione javascript, richiamata nell'evento onSubmit del form:
    Codice HTML:
    <script type="text/javascript">
       function controllo()
       {
           var ceck = document.getElementById("...");
           
           if (ceck.cecked == true) {
               // Creazione cookie
           }
       }
    </script>
    Al posto dei puntini metti il valore dell'attributo id della checkbox.

    A questo punto di basta controllare, i cookie con php, quando un'utente accede alla pagina.

    A questo punto, se il cookie esiste ti basta, far eseguire all'utente, il login con i dati del cookie, nel momento dell'accesso al sito.

    P.S.: Se ti interessa creare e gestire un cookie dai un'occhiata qui
    Ultima modifica di sevenjeak : 07-03-2010 alle ore 16.22.19

    Sevenjeak
    Software developer and much more

  3. #3
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    ora provo, aspetta

    EDIT
    leggi,


    Codice:
    <script type="text/javascript">
    function controllo()
    {
    var ceck = document.getElementById("...");
    
    if (ceck.cecked == true) {
    // Creazione cookie
    }
    }
    </script>
    in //creazione cookie
    devo creare il cookie, giusto?
    Ultima modifica di musicanapoli : 07-03-2010 alle ore 17.36.59

  4. #4
    Guest

    Predefinito

    Esattamente, ma non capisco che bisogno c'è di farlo con Javascript (che tra l'altro non è supportato da tutti i visitatori) quando puoi farlo direttamente PHP. Nella pagina HTML inserisci il checkbox che, per esempio, chiamerai "ricorda". Poi nella pagina PHP del login scrivi questo:
    Codice PHP:
    if(isset($_POST['ricorda']))
    // qui crei il cookie dell'utente

  5. #5
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Post

    facciamo una cosa, ti do il codice della pagina di login e me la modifichi con il checkbox e quindi per quello che voglio io.
    me lo fai'

  6. #6
    Guest

    Predefinito

    D'accordo, ma dovresti imparare, non farti fare le cose dagli altri, altrimenti continuerai a chiedere sui forum per il resto dei tuoi giorni

  7. #7
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    ok, quindi uso

    Codice PHP:
    if(isset($_POST['ricorda']))
    // qui crei il cookie dell'utente
    poi giù in // qui crei il cookie dell'utente, metto

    Codice PHP:
    setcookie("ricorda","ciaoo",time()+3600);
    giusto?
    Ultima modifica di gabriele97 : 07-03-2010 alle ore 17.04.45

  8. #8
    Guest

    Predefinito

    Esattamente, in questa maniera l'utente verrà memorizzato per un'ora. Comunque non mi sembra molto sicuro usare i cookie. Basta che creo un cookie chiamato "ricorda" con valore "ciaoo" sul mio computer e automaticamente sono loggato. Da questo punto di vista sono molto più sicure le sessioni.

  9. #9
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    no, è che sono alle prime armi con il php.
    e da poco che lo utilizzo.

    però conosco il c, vb.net, e basta.

    comunque, ecco il codice.

    Codice PHP:
    <?php
    switch($_GET['page'])
    {
    default:
    header("Location: index2.html");
    break;
    case
    'login':
    // creazione del cookie permesso
    // cookie interrotto --> su pr_01 dopo login corretto
    echo "";
    }
    ?>
    <html>
    <!-- spazio riservato all'area di log in -->

    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td align="center" valign="middle"><form action="pr_01.php" method="post">
    <table width="280" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td colspan="2"><img src="http://www.gabriele97.altervista.org/altro/commenti%20e%20registrazioni%20al%20mio%20blog/images/logo.PNG" width="345" height="70"></td>
    </tr>
    <tr align="left" valign="middle">
    <td width="140" height="30" align="left"><div align="center"><strong>User : </strong></div></td>
    <td width="149" height="30"><input name="user" type="text" id="user" size="15"></td>
    </tr>
    <tr align="left" valign="middle">
    <td height="30"><div align="center"><strong>Password : </strong></div></td>
    <td height="30"><input name="password" type="password" id="password" size="15"></td>
    </tr>
    <tr align="right" valign="middle">
    <td height="30"><input type="submit" name="Submit" value="Login"></td>
    <td height="30" align="left"><input type="reset" name="Submit" value="Resetta"></td>
    </tr>
    <tr>
    <td colspan="2">
    <p align="center"><b><a href="http://www.gabriele97.wordpress.com">
    www.gabriele97.wordpress.com</a></b> </td>
    <div>
    </div>
    <tr align="center" valign="middle">
    <td colspan="2"><h6>&nbsp;</h6></td>
    </tr>
    </table>
    </form>
    </td>
    </tr>
    </html>
    EDIT
    ascolta, e poi nella pagina che per accedere con il login, che sarebbe questa

    inserisco il codice per controllare se il cookie e memorizzato e quindi visualizzare la pagina, se non lo è allora con un else do un messaggio di errore, giusto?

    Non scrivere due messaggi consecutivi, utilizza il tasto edita!
    Ultima modifica di musicanapoli : 07-03-2010 alle ore 17.38.52

  10. #10
    Guest

    Predefinito

    Esatto, comunque ribadisco: studiati le sessioni che sono più sicure dei cookie!

  11. #11
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    ok, studio le sessioni.
    lo so che sono molto più sicure dei cookie.
    comunque, aspetta che provo e poi ti dico se tutto è andato per il verso giusto.

    ma il check box lo devo mettere dentro o fuori il form?

    non funziona.
    il cookie non viene creato
    Ultima modifica di gabriele97 : 07-03-2010 alle ore 17.50.08

  12. #12
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Scusate, non avevo pensato di creare il cookie in php.

    Cmq la ceckbox la devi mettere dentro al form, altrimenti il suo valore non viene passato tramite metodo post

    Sevenjeak
    Software developer and much more

  13. #13
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    aspetta, ecco il codice dove c'è il checkbox

    Codice PHP:
    <?php
    if(isset($_POST['a']))
    // qui crei il cookie dell'utente
    setcookie("ricorda","b",time()+3600);
    ?>

    <html>
    <form action="pagina.php" method="post">
    <input type="text" name="user">
    <input type="submit" value="invia">
    <input type="checkbox" name="a"> ciao
    </form>
    </html>
    mentre la pagina a cui si accede con il cookie

    Codice PHP:
    <?php
    if(isset($_COOKIE['ricorda']) && $_COOKIE['ricorda'] == 'b'){
    ?>
    <?
    echo "ok, tutto funziona";
    ?>
    <?
    }else{
    echo
    "riprova!!!";
    }
    ?>

  14. #14
    Guest

    Predefinito

    No, qui c'è proprio un errore di fondo. Non puoi creare il cookie nella stessa pagina in cui effettui il login. O meglio, puoi, ma non in quella maniera. Tu hai bisogno di tre pagine. Una che si chiama login.php, dove è contenuto solo il codice HTML del form. Un'altra che si chiama submit.php che contiene se i dati sono corretti ed eventualmente crea il cookie. Ed una terza chiamata, ad esempio, pagina_protetta.php, a cui l'utente può accedere solo se ha effettuato il login.

  15. #15
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    ok, fin qui ci siamo.
    però come faccio con il checkbox?

    EDIT
    ok, fin qui ci siamo.
    però come faccio con il checkbox per far decidere all'utente se salvare il cookie o meno?
    Ultima modifica di musicanapoli : 07-03-2010 alle ore 19.02.25

  16. #16
    Guest

    Predefinito

    No, fin qui non ci siamo, perché devi adattare le tue pagine. Le tue non seguono lo schema che ti ho proposto, modificale...

  17. #17
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    dimmi come modificarle?

  18. #18
    Guest

    Predefinito

    Se guardi due post fa lo scopri, stiamo scrivendo messaggi inutili così.

  19. #19
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    ci sono riuscito, ho creato una terza pagina, dove riceve i dati dal form di prima, compreso il checkbox.
    poi crea il cookie e mi reindirizza subito alla pagina con positivo se selezionato il checkbox, negativo senza selezionato.
    Ultima modifica di gabriele97 : 07-03-2010 alle ore 21.33.57

Regole di scrittura

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