Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494

    Lista dei desideri con i cookie

    Salve,
    come faccio a fare una lista dei desideri usando i cookie?

    uso setcookie per memorizzare un valore, ma se volessi una lista?

    Grazie anticipatamente!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ci metti dentro una stringa in formato JSON con tutte le info che ti interessano, suggerisco semplicemente coppie id prodotto e quantità.

  3. #3
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Visto che è un portale per la prenotazione di strutture ricettive metterei solo l'id della struttura il nome e le stelle.

    Qualcosa di simile a questo?

    Codice PHP:
    $wishList = array
    (
    array (
    id => 22
    nome 
    => Hotel Bello
    stelle 
    => 4
    ),
    array (
    id => 22
    nome 
    => Hotel Bello
    stelle 
    => 4
    )
    );

    $listJSON json_encode($wishList);

    setcookie("wishlist"$listJSON); 

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Se riesci a fare ciò che ti serve si, va bene.
    Ricorda però che la dimensione massima di un cookie è di 4Kb, quindi se devi metterci molte informazioni e c'è il rischio che si ecceda tale dimensione, devi cambiare strategia.
    Per esempio nel cookie ci metti l'id della lista e poi la lista vera e propria la salvi nel DB.

  5. #5
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Si ci stavo pensando grazie!
    Un'altra domanda, ho fatto una prova ma non riesce a settare il cookie.

    Nella pagina dell'hotel ho un link, con scritto salva hotel, che mi rimanda ad un'altra pagina, questa:

    Codice PHP:
    $hotelId $_GET['hotelId'];
    $hotelStars $_GET['hotelStars'];
    $hotelName urldecode($_GET['hotelName']);

    $listArray = array 
    (
    array (
    'id' => $hotelId,
    'nome' => $hotelName,
    'stelle' => $hotelStars,
    )
    );

    $listJSON json_encode($listArray);
    setcookie('wishlist'$listJSON);

    header("Location: {$_SERVER['HTTP_REFERER']}"); 
    Ma quando ritorno alla pagina precedente e provo a stampare il cookie non stampa nulla:

    Codice PHP:
    if(isset($_COOKIE['wishlist'])) {
    $listJSONdecode json_decode($_COOKIE['wishlist']);

    echo 
    '<pre>';
    print_r($listJSONdecode);
    echo 
    '<pre>';


  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Intanto metti un else all'if, dentro ci metti un echo e vedi se quello viene stampato, così capiamo se il cookie esiste ma è vuoto o se invece non esiste proprio.

  7. #7
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Mi stampa l'else.

    Se provo a stampare il cookie wishlist nella stessa pagina dove lo setto funziona.
    Ultima modifica di lukezz; 27-07-2015 a 18:49

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Imposta esplicitamente la scadenza del cookie, di default scade allo scadere della sessione, magari è questo il problema.

  9. #9
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Ho impostato 1 ora, ma se cambio pagina si resetta.

  10. #10
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Risolto impostando il path '/'. Grazie mille per l'aiuto!

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.