Nastavení cookie a redirect

Dismember
Člen | 50
+
0
-

ahoj,

na webu zobrazuji modální okno a pokud uživatel klikne „již nezobrazovat“, tak se nastaví cookie a při další návštěvě se modální okno neotevře.

No a možná něco nechápu, ale v různých prohlížečích se mi to chová jinak.

Co mám udělané:

Na tlačítku mám metodu handle: n:href=„DontShowAgain!“

public function handleDontShowAgain() {
    $httpResponse = $this->getHttpResponse();
    $httpResponse->setCookie("calculator", "no","7days");
    $this->redirect("Homepage:", ["redirect" => "yes"]);

}

parametr redirect tam mám jen z testovacích důvodů, protože:

  1. když v prohlížeči Brave kliknu na to tlačítko, tak se mi přepíše cookie na „no“, jsem přesměrován na Homepage: a modální okno se neotevře
  2. když to stejné udělám v Chrome, tak nedojde k přepsání cookie, dojde k přesměrování, ale v adrese není ten parametr „redirect“

Nevíte, kde dělám chybu? Dělám to vůbec správně?

dakur
Člen | 493
+
+2
-

@Dismember Je nějaký důvod, proč to vlastně implementuješ na straně serveru a ne klienta? Mnohem jednodušší mi přijde napsat to jako event handler v JS při kliknutí na „již nezobrazovat“ – jednoduše nastaví cookie a je to. Podmínka pro zobrazení modalu pak zůstává stejná.