Ver Mensaje Individual
  #7 (permalink)  
Antiguo 19/05/2005, 08:52
Avatar de dwaks
dwaks
 
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 9 meses
Puntos: 15
Bueno,
Como ya te decidiste a validar con el php en el archivo procesar.php entonces la forma de devolver las variables son muchas.

Despues que validas y detectes algun error que necessite regresar al formulario otra vez pero que los datos buenos los regreses para que no los tenga que poner nuevamente existen varios metodos, aqui varias ideas:
1- Puedes usar la funcion de php:
header("location: formulario.php");
Usando esta funcion puedes regresar las variables buenas por la url, ejemplo devolviendo los valores de nombre y apellido:
Código PHP:
<?php
header
("location: formulario.php?nombre=".$nombre."&apellido=".$apellido);
?>
Alli devolvimos los valores por la url a este metodo se le llama enviar variables por GET.
Y en formulario en el campo debes imprimir en el valor de un campo:
<input type="text" name="nombre" value="<?php echo $_GET["nombre"]?>">

Y como dije anteriormente si entras por primera vez a la pagina aparecera el campo nombre vacio, solo cuando redirecciones de procesar.php a formulario.php enviando las variables entonces se mostraran los valores en formulario.

2- El segundo metodo que puedes usar son las variables de sessiones, estan son variables que al iniciarse estaran activas en el sitio siempre hasta que se cierre el explorador o se destruyan. Para que aprendas mas de sessiones busca en el FAQ alli ahy buenisimas referencias.
Bueno ahora un ejemplo de envio de variables con session:
Código PHP:
<?php
session_start
(); #aqui iniciamos el uso de las sessiones
$_SESSION["nombre"] = $nombre;
$_SESSION["apellido"] = $apellido;
header("location: formulario.php");
?>
Si te fijas no se le puso nada al final del formulario.php ya que usando session las variables estaran vivas y las llamaremos cuando queramos.
Un ejemplo de como llamarlas en el formulario.php
Código PHP:
<?php
session_start
(); # esta linea se pone en la primera linea del formulario.php
?>
Para mostrar el valor en el campo nombre:
<input type="text" name="nombre" value="<?php echo $_SESSION["nombre"]?>">
Solo con iniciar session_start() en la primera linea ya podremos usar las variables de sessiones para darle valores o simplemente imprimir sus valores.

3- El 3 metodo seria mas complejo que es enviando las variables de procesar.php por medio de un formulario que se active automaticamente y redireccione, este formulario llevara el metodo post y se accionara automatico con javascript.
La forma de hacer el retorno de procesar.php al formulario seria:
Código PHP:
<?php
echo "<form name='formulario' action='formulario.php' method='post'>";
echo 
"<input type='text' name='nombre' value='".$nombre."'>";
echo 
"<input type='text' name='apellido' value='".$apellido."'>";
echo 
"<script>document.formulario.submit();</script>";
?>
Veras que no usamos la funcion header() sino un formulario que se activa utomaticamente.

La forma de recojer los datos en formulario.php seria:
<input type="text" name="nombre" value="<?php echo $_POST["nombre"]?>">

Espero esta información la entiendas y te sirva de mucho, los diversos metodos se usan actualmente para diversas situaciones, asi que estara en ti elegir la adecuada para ti.