obvio que los inserta otra vez por que al recargar el formulario se reenvian los datos por post.
primero pone arriba el php o lo mejor seria en un controlador
Código PHP:
Ver original<?php
if (isset($_POST["formulario"])){ if (empty($_POST['nombre'])||empty($_POST['mail'])){ echo "debes llenar todos los campos ";
} else {
$sql="INSERT INTO `persons`(`nombre`, `mail`)
VALUES
('$_POST[nombre]','$_POST[mail]')";
{
}
//echo "Datos agregados";
header("Location: /index.php"); // aca direcciona a una pagina con un mensaje, puede ser la misma
}
}
?>
Código HTML:
Ver original<form name="formulario" method="post" action="index.php">
<input type="text" name="nombre" required> <input type="text" name="mail" required> <input value="Calcular" type="submit" name="formulario" />