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!
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!
Ci metti dentro una stringa in formato JSON con tutte le info che ti interessano, suggerisco semplicemente coppie id prodotto e quantità.
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);
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.
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:
Ma quando ritorno alla pagina precedente e provo a stampare il cookie non stampa nulla: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']}");
Codice PHP:
if(isset($_COOKIE['wishlist'])) {
$listJSONdecode = json_decode($_COOKIE['wishlist']);
echo '<pre>';
print_r($listJSONdecode);
echo '<pre>';
}
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.
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
Imposta esplicitamente la scadenza del cookie, di default scade allo scadere della sessione, magari è questo il problema.
Ho impostato 1 ora, ma se cambio pagina si resetta.
Risolto impostando il path '/'. Grazie mille per l'aiuto!