Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/10/2014, 05:41
Avatar de javier6_almansa
javier6_almansa
 
Fecha de Ingreso: mayo-2014
Mensajes: 34
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: retorno a formulario o mensaje de envio???

Hola, ten en cuenta que de la forma en que lo has programado, una vez un usuario envía el formulario, si volviera a recargar la pagina, volvería a insertar en la base de datos, ya que seguiría existiendo la variable $_POST

Mi recomendación es que en el action del formulario pongas otra pagina, por ejemplo insertar_receta.php con el codigo:

Código PHP:

if(isset($_POST["enviar"]))    {

       
// ATENCIO, NO ESTABAS ESCAPANDO LOS CARACTERES DE LAS VARIABLES, ES UN GRAN RIESGO DE SEGURIDAD
       
       
$link mysqli_connect("localhost""root""""recetario");
       
$nombre mysqli_real_escape_string($link$_POST['nombre']);
       
$autormysqli_real_escape_string($link$_POST['autor']);
       
$recetamysqli_real_escape_string($link$_POST['receta']);
           
        
$sql "INSERT INTO recetas(nombre, autor, receta)";
        
$sql .= "VALUES('".$nombre."', '".$autor."', '".$receta."')";
        
$result mysqli_query($link$sql);
        
$msg =  "¡Gracias, hemos recibido tu receta!.\n";
        
        
// Una vez se han echo las operaciones rediriges a la web del formulario pasando como $_GET un msg
        
header("Location: recogida_datos.php?msg=".$msg);
     

De esta forma una pagina tendra el formulario y lo mandara los datos a otra pagina donde escribira en la base de datos y volvera a la web del formulario con un $_GET['msg']

Código PHP:
// Si esta la variable GET, significa que ha vuelto del formulario, con un mensaje. 
if(isset($_GET["msg"]))    {
       echo 
$_GET["msg"];