FC ConcursosFC Concursos

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?

  1. $nomes = ['Maria', 'João', 'José']; setcookie('pessoa', nomes);
  2. setcookie('pessoa', 'Maria'); setcookie('pessoa', 'João'); setcookie('pessoa', 'José');
  3. setcookie('pessoa', '['Maria', 'João', 'José']');
  4. setcookie('pessoa', ['Maria', 'João', 'José']);
  5. 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

Continue aprendendo