Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/04/2014, 13:15
Qazser
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Recodiga y muestra de datos de formulario en misma página

Solo un comentario antes de comenzar.

El codigo de entramex no devuelve nada por la condicion
if(isset($_POST['enviar']))

Porque no hay ningun campo con name="enviar", el boton submit tiene value pero no tien name...lo que no es ningun problema pero solo la explicación.

Ahora, vamos al asunto.

Primero unas clases de concepto:

-Solo se cean las variables POST cuando se envian con contenido del formulario. Es decir, si en el formulario el campo de texto con name="n3" está vacío, la variable $_POST['n3'] NO existirá, es decir, que no está definida cuando la llames para
Código PHP:
$n3$_POST['n3']; 
porque $_POST['n3'] nunca llegó a enviarse.

Solución:

Lo que se suele hacer es comprobar si cada variable existe....Tienes que saber si las variables son opciones o son obligatorias

Si son obligatorias deberias volver a enviar el usuario al formulario
Si son opcionales pues defines las variables no rellenadas con variables vacias y sigues con el php

Siempre es importante comprobar los campos que te llegan.

Con la función tu compruebas junto a un if si existe una variable, luego depende de ti que hacer cuando no está

Te dejo ejemplo sucios y rapidos para que entiendas el procedimiento:

Obligatorio
Código PHP:

if(!isset($_POST['n3']) )
{
     echo 
'X campo es obligatorio';
     die();
}
$n3 $_POST['n3']; 

Opcional
Código PHP:

if(!isset($_POST['n3']) ) $n3='';
else 
$n3 $_POST['n3']; 
Esto debes hacerlo por cada variable que recibes de un formulario, si lo quieres hacer bien.

un saludo!!
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos