Prezados estou estudando PHP e fazendo um exercício sobre o uso da superglobal $_COOKIE, porem estou com algumas dificuldades.
sempre recebo o erro “Illegal string offset” ao exibir os valores.
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Lista de Contatos</title>
<link rel="stylesheet" type="text/css" href="_css/contatos.css" />
</head>
<body>
<h1>Lista de Contatos</h1>
<div>
<form>
<fieldset>
<legend>Novo contato</legend>
<label>Nome:
<input type="text" name="nome" /></label></br>
<label>Telefone:
<input type="text" name="telefone" /></label></br>
<label>e-Mail:
<input type="text" name="email" /></label></br>
</br>
<input type="submit" value="Cadastrar" />
</fieldset>
</form>
<?php
$lista_contatos = [];
if (isset($_COOKIE['lista_contatos'])) {
$lista_contatos = unserialize($_COOKIE['lista_contatos']);
}
if (isset($_GET['nome']) && $_GET['nome'] != '') {
$contatos = [];
$contatos['nome'] = $_GET['nome'];
if (isset($_GET['telefone'])) {
$contatos['telefone'] = $_GET['telefone'];
} else {
$contatos['telefone'] = $_GET[''];
}
if (isset($_GET['email'])) {
$contatos['email'] = $_GET['email'];
} else {
$contatos['email'] = $_GET[''];
}
if (isset($_COOKIE['lista_contatos'])) {
$lista_contatos[] = $contatos;
} else {
setcookie('lista_contatos', serialize($contatos));
$lista_contatos[] = $contatos;
}
}
?>
</div>
<div>
<table>
<tr>
<th>Contatos</th>
</tr>
<?php
foreach ($lista_contatos as $v_contatos) :
?>
<tr>
<td><?php echo $v_contatos['nome']; ?></td>
<td><?php echo $v_contatos['telefone']; ?></td>
<td><?php echo $v_contatos['email']; ?></td>
</tr>
<?php
endforeach;
?>
</table>
</div>
</body>
</html>
Alguém pode me ajudar ?