Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/01/2004, 00:01
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm Es que lo que planteas no sólo se hace con "header()" que te serviría para redireccionar .. sino con cookies/sesiones o propagando esos datos (variables) por el URL

Lo más simple sería propagar esas X varibles en el URL

formulario.php
Código PHP:

// Si hay errores se presenta el mensaje. El hecho lo define una variable de control/parámetro: "codigo"
if (isset($_GET['codigo'])){
   echo "Hay un error o bla bla bla ...";
}
<form action="procesar.php" method="POST">

<input type="text" name="campo1" value="<? echo $_GET['campo1'?>">
<input type="text" name="campo2" value="<? echo $_GET['campo2'?>">

<input type="submit" name=" enviar " value="submit">
</form>
procesar.php
Código PHP:
<?
// validas tus datos $_POST['campo1'] .. $_POST['campo2'] como lo tengas que hacer ...

if (...){   
  
// Si no se cumplen tus validaciones de datos/etc .. redireccionas al formulario .. pasando las variables que llegaron aquí .. pero por el URL en modo GET.
  
header("location: formulario.php?estado=error&campo1=".$_POST['campo1']."&campo2=".$_POST['campo2']);
exit;
} else {
// la validación fué correcta .. haz lo que tengas que hacer.
}
?>
Los mensajes de error/exito debes presentarlos en el script que tiene el formulario o en cualquier otra .. pero NUNCA en la que hagas el header() que es donde validas o procesas esos datos. (sino tendrás problemas con "cabeceras enviadas .. bla bla".)

Esa variable "codigo" en el formulario.php tan sólo se vé si exite o no para mostrar el mensaje de error genérico .. Si te gestionas esa variables con tus própios valores podrías mostrar cosas como "falta el dato tal .. o el otro . o todos .. o bla bla".

Lo ideal para estos casos es usar sesiones .. Pero la técnica es igual: formulario -> procesa/valida .. si no es corecto -> redireccionar hacia otra(s) páginas y previamente guardar tus variables del formulario en una cookie/sesión o bien propagarlas "a mano" por el URL como en ejemplo que puse.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 03/01/2004 a las 00:07