Foros del Web » Programando para Internet » PHP »

Formulario PHP + mantener datos

Estas en el tema de Formulario PHP + mantener datos en el foro de PHP en Foros del Web. Hola Amigos del Foro, soy nueva en PHP y quisiera que me ayuden. Estoy desarrollando una aplicación, necesito que los formularios puedan mantener los datos ...
  #1 (permalink)  
Antiguo 18/08/2006, 17:17
 
Fecha de Ingreso: agosto-2006
Mensajes: 6
Antigüedad: 11 años, 3 meses
Puntos: 0
Sonrisa Formulario PHP + mantener datos

Hola Amigos del Foro, soy nueva en PHP y quisiera que me ayuden. Estoy desarrollando una aplicación, necesito que los formularios puedan mantener los datos en caso de que falten completar datos o el dato ya se encuentra ocupado, tenga la posibilidad de volver a cargar los datos erroneos, y que los datos bien ingresados me los devuelva para no volver a tipearlos.

Desde, ya muchos gracias.
  #2 (permalink)  
Antiguo 18/08/2006, 17:24
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 12 años, 2 meses
Puntos: 0
Puedes almacenarlos primero en una variable de sesion, despues los envias, si los datos estan erroneos redireccionas a la pagina anterior con una variable de control (para avisar al mismo script que estas "regresando" el formulario) y en tu pagina inicial validas al cargar que, si existe esa variable de control, las cajas se llenen con los datos de la sesion (que ya tiene valores...)
No se si me explique, si no fue asi dime.. jojooj
saludos
__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com
  #3 (permalink)  
Antiguo 18/08/2006, 17:33
 
Fecha de Ingreso: agosto-2006
Mensajes: 6
Antigüedad: 11 años, 3 meses
Puntos: 0
gracias por contestar, eso si lo tengo hecho. El punto es que cuando vuelvo a la pagina donde se cargan los datos. Los campos del formulario están vacios y no se como volver con los valores anteriores.
  #4 (permalink)  
Antiguo 18/08/2006, 17:40
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 12 años, 2 meses
Puntos: 0
Mira, te acabo de hacer un script peke para que puedas ver como funciona el asunto:
son dos archivos, uno el que contiene el formulario:

Código PHP:

<?php
session_start
();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form id="datos" name="datos" method="post" action="validador.php">
  <p>
    Nombre:
    <input name="caja_nombre" type="text" id="caja_nombre" value="<?php if (isset($_SESSION['nombre'])){ echo $_SESSION['nombre']; } ?>"/>
  </p>
  <p>Apellido:
    <input name="caja_apellido" type="text" id="caja_apellido" value="<?php if (isset($_SESSION['apellido'])){ echo $_SESSION['apellido']; } ?>"/>
  </p>
  <p>Tipo de ave: 
    <input name="caja_ave" type="text" id="caja_ave" value="<?php if (isset($_SESSION['ave'])){ echo $_SESSION['ave']; } ?>"/>
    </p>
  <p>
    <input type="submit" name="Submit" value="Enviar" />
  </p>
</form>
</body>
</html>
Date cuenta que es realmente como un formulario sencillo, el truco esta en:
1. Inicializar la variable en la linea 2
2. El value de las cajas, lo que hace es que "si existe la variable de sesion -> lleno la caja con lo que valga la variable de sesion"

el segundo archivo es el que recibe los datos enviados por el archivo anterior, los guarda en sesiones y valida, en este caso que en la caja Tipo de ave haya sido escrito 'pato' jojo:

Código PHP:
<?php
//iniciamos la sesion
session_start();
//guardamos los valores que fueron enviados por el formulario en variables de sesion
$_SESSION['nombre'] = $_POST['caja_nombre'];
$_SESSION['apellido'] = $_POST['caja_apellido'];
$_SESSION['ave'] = $_POST['caja_ave'];
//haces la validacion de los mismos...
if($_POST['caja_ave']=='pato')
{
echo 
"bienvenido patolin";
}
else
{
header ("Location: formulario.php");
}
?>
Si quieres copìa y pega, correlo en tu localhost (o servidor...) y veras como funciona.

Saludos.
__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com
  #5 (permalink)  
Antiguo 18/08/2006, 17:50
 
Fecha de Ingreso: agosto-2006
Mensajes: 6
Antigüedad: 11 años, 3 meses
Puntos: 0
Muchisisimas gracias!!!!!, era justo lo que necesitaba. Ya lo probé al código. Ahora lo voy a probar con mi aplicación. Cualquier cosa te comento.
  #6 (permalink)  
Antiguo 18/08/2006, 19:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
pato_volador

Te faltò indicar como destruir la sesión (o variables sòlo si desea continuar usando sesiones en su aplicación) una vez que termine el proceso de esos datos del formulario .. sino, cada vez que vuelva hacia atras en su navegador (o en general cuando la sesión siga "viva") volverá a ver sus datos que ingresó últimos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 19/08/2006, 16:30
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 12 años, 2 meses
Puntos: 0
Tienes razon Cluster, poing!!! jejejeje.. se me paso.
zmangelica, cuando ya no necesites los datos de la sesion, por ejemplo cuando ya hayas validado los datos y todo este bien, la destruyes con session_destroy();

y siguiendo la linea del ejemplo anterior te lo podria poner asi:

Código PHP:
<?php
//iniciamos la sesion
session_start();
//guardamos los valores que fueron enviados por el formulario en variables de sesion
$_SESSION['nombre'] = $_POST['caja_nombre'];
$_SESSION['apellido'] = $_POST['caja_apellido'];
$_SESSION['ave'] = $_POST['caja_ave'];
//haces la validacion de los mismos...
if($_POST['caja_ave']=='pato')
{
echo 
"bienvenido patolin";
session_destroy(); //aqui destruimos la sesion pues ya no necesitamos los datos....
}
else
{
header ("Location: formulario.php");
}
?>
Gracias Cluster por hacermelo notar, quiero poder ayudar mejor a los usuarios de los foros... SALUDOS!!!
:D
__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com
  #8 (permalink)  
Antiguo 19/08/2006, 22:32
 
Fecha de Ingreso: agosto-2006
Mensajes: 6
Antigüedad: 11 años, 3 meses
Puntos: 0
gracias por la preocupación, voy a probar el código y les comentó como me fue. Chauuu
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 16:50.