Cenário clássico: Você quer setar um cookie no meio da execução PHP, mas já saiu HTML, um echo perdido, ou um espaço invisível que detonou os headers.
PHP responde com:
Cannot modify header information – headers already sent…
E você responde com:
💡 “Então vou usar o que nunca falha: JavaScript. Com responsabilidade, claro.”
A Gambiarra Consciente (com selo Protocolo Kemper)
<script>
document.cookie = "pascoa=guaramirim; path=/; max-age=" + (30 * 24 * 60 * 60) + "; SameSite=Lax";
</script>
Funciona onde o PHP já desistiu.
❗ Observações:
- Não é
HttpOnly
, então não armazene coisa sensível - Só estará disponível no
$_COOKIE
do PHP na próxima requisição - Ideal pra “marcar” que o usuário passou por uma etapa
E se quiser algo mais chique:
(function() {
const nome = "pascoa";
const valor = "guaramirim";
const dias = 30;
if (!document.cookie.includes(nome + "=" + valor)) {
document.cookie = nome + "=" + valor +
"; path=/" +
"; max-age=" + (dias * 24 * 60 * 60) +
"; SameSite=Lax";
}
})();
Pronto. Cookie setado. Usuário marcado. Vida que segue.
Quando usar:
- No final de um formulário
- Quando não se controla o topo do script
- Quando o PHP já “vomitou” HTML e você precisa dar aquele “jeitinho técnico”
Ass.:0xk3mp3r
#protocoloKemper #cookiesNoCaos #phpReageMasNaoImpede #gambiarraComOrgulho