Foros del Web » Programando para Internet » PHP »

evento onsubmit

Estas en el tema de evento onsubmit en el foro de PHP en Foros del Web. El Problema Que Tengo Es Que Tengo Un Formulario Y Los Datos Los Valido En Una Funcion De Otra PÁgina.si Algun Dato Es Incorrecto Muestro ...
  #1 (permalink)  
Antiguo 21/06/2004, 10:22
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 257
Antigüedad: 13 años, 5 meses
Puntos: 0
Exclamación evento onsubmit

El Problema Que Tengo Es Que Tengo Un Formulario Y Los Datos Los Valido En Una Funcion De Otra PÁgina.si Algun Dato Es Incorrecto Muestro Un Error Y Vuelvo A La PÁgina Del Formulario,pero Como Hago Para Que Permanezcan Los Datos Que Previamente Habia Introducido En El Formulario.habia Pensado En El Evento Onsubmit Y Llamar A La Funcion Que Los Valida,pero Como La Llamo Si Esta En Otra PÁgina?
  #2 (permalink)  
Antiguo 21/06/2004, 10:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Debes "propagar" los datos que enviastes a tu script_2 (proceso PHP) desde el script_1 (formulario) a este.

Para eso, puedes "propagar" esos datos por el URL .. o bien en una sesión o cookies. Luego, tu formulario donde tengas tus campos <input> tendras que dar el valor "por defecto" de la variable que has "propagado" (pasado) a este.

Ejemplo:

formulario.php
Código PHP:
<form action="procesar.php" method="post">
<input name="campo" value="<? echo $_GET['campo'?>">
<botón submit ...>
</form>
procesar.php
Código PHP:
<?
// Si hay error ...
// redireccionar al formulario pasando la variable(s) que hemos recibido.
header ("Location: formulario.php?campo=".urlencode($_POST['campo']));
?>
Eso sería un ejemplo básico (por el URL) .. En la práctica si son várias variables de tus formulario es recomendable usar sesiones.

Los elementos de formulario tipo <select> (listas desplegables ..) checkbox y demás .. tienes que usar para "pre-definir" su estado inicial las propiedades "selected" o "checked" de estos en el caso que correspondan.

Un saludo,
  #3 (permalink)  
Antiguo 21/06/2004, 11:08
Avatar de mautik  
Fecha de Ingreso: mayo-2004
Mensajes: 149
Antigüedad: 13 años, 7 meses
Puntos: 0
esa idea me parece bien si usas muy pocos campos en el formulario pero en un forulario grande es complicado

esto si esta bien:
<form action="procesar.php" method="post">
<input name="campo" value="<? echo $_POST['campo'] ?>">
<botón submit ...>
</form>

pero yo pondria en procesar.php:

<form action="formulario.php" method="post">
<input name="campo" type="hidden" value="<? echo $_POST['campo'] ?>">
<botón volver ...>
</form>
__________________
123...probando...probando...123
  #4 (permalink)  
Antiguo 21/06/2004, 11:10
Avatar de mautik  
Fecha de Ingreso: mayo-2004
Mensajes: 149
Antigüedad: 13 años, 7 meses
Puntos: 0
PD/ no escribas asi, es complicado leerlo con tanta mezcla de mayusculas y te aseguro que obtendrias mas respuestas si escribieras normalmente (solo una sugerencia)


Cita:
Iniciado por bananas
El Problema Que Tengo Es Que Tengo Un Formulario Y Los Datos Los Valido En Una Funcion De Otra PÁgina.si Algun Dato Es Incorrecto Muestro Un Error Y Vuelvo A La PÁgina Del Formulario,pero Como Hago Para Que Permanezcan Los Datos Que Previamente Habia Introducido En El Formulario.habia Pensado En El Evento Onsubmit Y Llamar A La Funcion Que Los Valida,pero Como La Llamo Si Esta En Otra PÁgina?
__________________
123...probando...probando...123
  #5 (permalink)  
Antiguo 21/06/2004, 11:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mmm mautik

Bueno .. lo más simple y efectivo para propagar gran cantidad de variables de un formulario sería una sesión .. También se podría "serializar" el array $_POST (el usado en el method del formulario) y propagar toda variable .. tipo:

en procesar.php
header ("Location: formulario.php?variables=".serialize($_POST));

Y en el formulario ..

$variables=unserialize($_GET);
Y en los "<input>" usar:

value="<? echo $variables['campo'] ?>"

(sobre serializar un array como lo es $_POST en las FAQ's de este foro hay unas funciones para hacer esto mejor basado en la misma base de "serialize"..)


Un saludo,
  #6 (permalink)  
Antiguo 22/06/2004, 05:00
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 257
Antigüedad: 13 años, 5 meses
Puntos: 0
gracias

pues muchas gracias por la ayuda,el caso es que utilizo muchas variables en el formulario y lo de pasarlas por url me parece muy complicado y laborioso porlo que he optado por la serializacion del $POST.A ver si me funciona.GRACIAS.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:51.