Just that form also sends the previous information, so you add the new one and give echo
. This will require a new field:
<form>
//..
<input type="hidden" name="historico" value="HTMLENTITES(JSON({Valores Anteriores}))">
//...
</form>
In this way PHP will know what existed before, without any JQuery or Javascript. Also note the use of id
that should be changed to name
, in order for the information to be sent to PHP.
<?php
// Se o primeiro acesso, ele terá um histórico vazio:
$historico = [];
if(isset($_POST['nome'], $_POST['telefone'], $_POST['historico'])){
// Define o historico (os dados que já foram mostrados anteriormente)
$json = json_decode($_POST['historico'], true);
if(json_last_error() === JSON_ERROR_NONE){
$historico = $json;
}
// Acrescentas os dados atuais no historico
$historico[] = ['nome' => $_POST['nome'], 'telefone' => $_POST['telefone']];
}
?>
<form action="#" method="post">
<h2>Inserir Novo Telefone</h2>
<label>Nome: <input name="nome" type="text"/></label><br>
<label>Telefone: <input name="telefone" type="text"/></label><br>
<!-- Define o "historico" com todos os valores já inseridos: -->
<input type="hidden" name="historico" value="<?= htmlentities(json_encode($historico), ENT_QUOTES, 'utf-8', false) ?>">
<input type="submit" value="Enviar" />
</form>
<?php
// Repete por cada dado do "historico", tanto os antigos quanto os novos estão nessa variável.
foreach ($historico as $dados){
if(isset($dados['nome'], $dados['telefone'])) {
?>
<div>Nome: <?= htmlentities($dados['nome'], ENT_QUOTES, 'utf-8', false) ?> -
Telefone: <?= htmlentities($dados['telefone'], ENT_QUOTES, 'utf-8', false) ?> </div>
<?php
}
}
?>