J'essaie d'obtenir que Laravel 5.1 supprime mon cookie, mais il ne sera pas supprimé même si je le renvoie avec ma redirection.
return redirect('/voucher')->withCookie(Cookie::forget($cookie));
Ai-je fait quelque chose de mal?
Je me trompe peut-être, mais vous utilisez probablement un objet cookie à la place du nom du cookie lorsque vous appelez Cookie::forget($cookie)
. Sauf si $cookie
est une chaîne contenant le nom du cookie, vous devriez essayer quelque chose comme ceci:
return redirect('/voucher')->withCookie(Cookie::forget('cookie_name'));
Je sais que la question est déjà ancienne et qu’elle a déjà répondu, mais je suis arrivé récemment et, si je ne me trompe pas, le cookie doit être mis en attente pour la réponse suivante.
Vous pouvez le faire en ajoutant manuellement le cookie à la réponse sous la forme @ Jan.J déjà décrite dans sa réponse. Mais si vous avez besoin de le faire en ligne, cela pourrait également fonctionner pour vous:
Cookie::queue(
Cookie::forget('cookieName')
);
La CookieJar
transmettra tous les cookies en file d'attente à la prochaine réponse.
Dans mon cas, il y avait une array
stockée dans le cookie, donc aucune des méthodes fournies n'a fonctionné. Le tableau devrait être supprimé en fournissant exactement la paire de tableau:
Cookie::queue(Cookie::forget('array_name[provide_key]'));
Vous pouvez aussi le faire de cette façon:
redirect('/')->cookie(cookie()->forget('my_super_cookie_name))
fonction publique funname (CookieJar $ cookie)
session()->flush();
$ cookie-> queue (cookie () -> oublier ('user_email')); $ cookie-> queue (cookie () -> oublier ('user_password'));
return redirect('/');