Questão FC266183
A função setcookie() em PHP define um cookie para ser enviado juntamente com o resto dos cabeçalhos HTTP. Os três principais parâmetros dessa função são o nome, o valor e o tempo d
Desenvolvimento Web
IDECAN · 2019
A função setcookie() em PHP define um cookie para ser enviado juntamente com o resto dos cabeçalhos HTTP. Os três principais parâmetros dessa função são o nome, o valor e o tempo de duração do cookie. Suponha que desejamos enviar cookies de array contendo o nome de três pessoas com o nome do cookie sendo pessoa. Qual a maneira correta?
- $nomes = ['Maria', 'João', 'José']; setcookie('pessoa', nomes);
- setcookie('pessoa', 'Maria'); setcookie('pessoa', 'João'); setcookie('pessoa', 'José');
- setcookie('pessoa', '['Maria', 'João', 'José']');
- setcookie('pessoa', ['Maria', 'João', 'José']);
- setcookie('pessoa[0]', 'Maria'); setcookie('pessoa[1]', 'João'); setcookie('pessoa[2]', 'José');
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
A alternativa correta utiliza a notação de array no nome do cookie: setcookie com 'pessoa[0]', 'pessoa[1]' e 'pessoa[2]'. Cada chamada envia um cookie distinto ao cliente, mas o PHP reconstrói, ao receber, um $_COOKIE['pessoa'] como um array contendo os valores.
Ex.: setcookie('pessoa[0]', 'Maria'); setcookie('pessoa[1]', 'João'); setcookie('pessoa[2]', 'José'). Assim, após o reload, acessa-se $_COOKIE['pessoa'][0] = "Maria", etc.
Observações práticas: os cookies devem ser enviados antes de qualquer saída (headers) e, se não for informado o parâmetro de expiração, tornam‑se cookies de sessão. Ao exibir valores vindos de $_COOKIE, sanitize com htmlspecialchars().
Conteúdo do catálogo FC Concursos · Atualizado em