Rimuovere cookie con laravel 5+

Panoramica

Laravel nella versione 4 aveva implementato un comando “forget” che permetteva di dimenticare la registrazione di un cookie precedentemente impostato. Se usate una versione successiva alla quattro potreste incorrere in anomalie se usate ancora il metodo sopra menzionato.

Cosa è cambiato

Nella versione 5+ laravel ha introdotto queue per la de-registrazione dei cookie. Per usarlo agite come segue.

Per prima cosa registriamo la classe cookie all’interno del controller:

use Cookie;

O in alternativa potete usare:

\Cookie[...]

quando richiamerete la classe nel codice che vedrete fra poco. Personalmente preferisco la prima opzione.

A questo punto la sintassi per de-registrare il cookie è la seguente:

Cookie::queue('NomeCookie', null, -1);

I parametri da passare a queue sono:

  • Nome cookie
  • Valore
  • Scadenza

In questo caso impostiamo un valore nullo con scadenza negativa per assicurarci di far scadere la validità.

Codice di esempio

In questo codice di esempio “concreto” vediamo come rendirizzare un utente alla pagina salvata come valore all’interno del cookie, e come de-registrare lo stesso una volta che l’utente è stato reindirizzato.

CODICE ESEMPIO

Con questo piccolo e semplice script php in base all’esistenza del cookie reindirizzate l’utente a url differenti. Nel primo caso a un “url-senza-cookie”, mentre nel secondo al link presente come value. Una soluzione ideale, ad esempio, se una volta loggato volete gestire il redirect in modo personalizzato a seconda di precedenti scelte intercorse dai vostri utenti.

Esempio pratico:

a)  utente clicca su “Acquista ora il prodotto X”

b)  fa il login  perchè magari il prodotto è acquistabile solo da registrati

c)  al termine del login reindirizza al prodotto che l’utente aveva individuato.

In questo caso vi basterà abbinare un evento javascript onclick sul pulsante acquista il prodotto che va a generare il cookie TrgCookieRedirect salvando come value l’url del prodotto.

Image credits: “programmazione” disponibile su Shutterstock

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

laravel-5
Up Next:

Paginazione personalizzata laravel 5

Paginazione personalizzata laravel 5