Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di andbaz
    Registrato dal
    Jul 2011
    Messaggi
    441

    Cookie, come utilizzarli

    Ciao a tutti, sono andrea e sto creando un piccolo social network simile a facebook solo che non richiede iscrizioni.

    Ho scoperto i cookie, mi sono letto anche delle guide a riguardo però non riesco ad usufruirne nel mio caso.

    Andiamo al punto, vorrei mettere mi piace ad un post, come dovrei utilizzare i cookie in questo caso?

    Sarebbe necessario reggersi sugli ip? E di conseguenza sul database?

  2. #2
    Utente di HTML.it L'avatar di andbaz
    Registrato dal
    Jul 2011
    Messaggi
    441
    UP

  3. #3
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Un tizio vota e tu gli metti il biscottino nel pc. Tenta di rivotare, controlli i biscottini e ti accorgi che per quel posta ha già votato.

    Controindicazioni: Riempi il pc dell'utente di briciole e non è carino. L'utente può attivare l'aspirabriciole e cancellare i biscottini. Ciò gli permette di votare nuovamente.

    Con il DB memorizzi il voto nel DB, ma come distinguere se un utente ha già votato dato che non occorre registrarsi?

    1)Richiedere diversi click prima di far votare in modo disincentivare i cliccatori folli.
    2)Mettere i simpaticissimi camptcha (che palle).
    3)Basarsi sull'ip dell'utente partendo dal presupposto che lo stesso ip non dovrebbe ripresentarsi al voto sul medesimo post in un ragionevole periodo di tempo

    I biscottini andrebbero utilizzati per personalizzare l'esperienza dell'utente (preferenze dell'utente) sul sito e non per memorizzare informazioni del sito. Ad esempio se dai la possibilità di variare la combinazione dei colori o il tema del sito, lasci una briciola con l'informazione che interessa quell'utente. In tal modo quando l'utente torna, leggi il biscottino e riproponi il tema che ha tanto apprezzato.

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  4. #4
    Utente di HTML.it L'avatar di andbaz
    Registrato dal
    Jul 2011
    Messaggi
    441
    Si ok, ho capito come funzionano però nel mio caso che scriveresti nella funzione?

    Codice PHP:
    setcookie(namevalueexpirepathdomain); 

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Basta leggere la documentazione della funzione setcookie() per sapere cosa ci devi scrivere.

    http://php.net/manual/en/function.setcookie.php
    subito dopo la segnatura della funzione c'è la spiegazione dei parametri.

  6. #6
    Utente di HTML.it L'avatar di andbaz
    Registrato dal
    Jul 2011
    Messaggi
    441
    Ok andiamo oltre, mi sono studiato come funzionano però ora ho un problema: ogni post nel mio sito ha un id, ed un input collegato a questo che se premuto aumenta di uno, però nel mio mio sito ci sono n post per cui come faccio a salvare più id in un cookie? Ho cercato su internet per gli array, però non ho trovato niente di interessante per risolvere il mio problema

  7. #7
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Evidentemente non hai studiato bene. Leggi l'esempio 3 del link al manuale che ti ha postato Alhazred.

    L'esempio ovviamnete ti butta dentro il cookie i tre elementi elementi con le tre chiamate. Ciò non toglie il settaggio dell'elemento dell'array del cookie possa avvenire in momenti diversi.

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  8. #8
    Utente di HTML.it L'avatar di andbaz
    Registrato dal
    Jul 2011
    Messaggi
    441
    L'esempio ovviamnete ti butta dentro il cookie i tre elementi elementi con le tre chiamate. Ciò non toglie il settaggio dell'elemento dell'array del cookie possa avvenire in momenti diversi.


    Spiegati meglio, perché in questo esempio vengono definiti tre elementi di un array interno al cookie, però io nel mio sistema non devo definirli poiché sono di un numero n indefinito

    Quello che vorrei riuscire a fare è questo: presi l'ultimo id del post su cui ho premuto mi piace, inserirlo in un cookie; con il mi piace successivo prenderò il secondo id e riempirò così il mio cookie/array; questo perché se uno ha già messo mi piace, non potrà più metterlo su quel post

    mi piace = +1

  9. #9
    Utente di HTML.it L'avatar di andbaz
    Registrato dal
    Jul 2011
    Messaggi
    441
    Ho scritto queste righe, e sembrano funzionare solo che se chiudo e riapro il browser e clicco di nuovo sui mi piace che ho cliccato prima $piu si incrementa di uno cosa che non dovrebbe succedere, è normale? Dove sbaglio? Io vorrei che i cookie venissero salvati sul pc per un tempo indeterminato.

    Codice PHP:
    if (isset($_POST['piu'])) {

            
    $id $_POST['id'];

            
    setcookie('piu['.$id.']',$id);

            
    $piu $_COOKIE['piu'];

            
    $ver in_array($id,$piu);

            if (
    $ver == false) {

                
    mysql_query("UPDATE TIMELINE SET PIU = PIU + 1 WHERE ID = $id");

            }

        } 

  10. #10
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Continui e non studiare, altrimenti avresti letto che il parametro expire cito:

    If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes).
    Quindi con l'istruzione setcookie che stai utilizzando (in cui ometti il parametro expire) è perfettametne normale che alla chiusura del browser il cookie sia cancellato.

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.