Foros del Web » Programando para Internet » PHP »

Necesito ayuda con formularios por favor

Estas en el tema de Necesito ayuda con formularios por favor en el foro de PHP en Foros del Web. Tengo una página que consta de 4 formularios. En la página1.php tengo el formulario1,las variables de este formulario1 las mando a la página2.php donde se ...
  #1 (permalink)  
Antiguo 17/11/2002, 10:17
Avatar de batvampire  
Fecha de Ingreso: noviembre-2002
Mensajes: 87
Antigüedad: 22 años
Puntos: 0
Exclamación Necesito ayuda con formularios por favor

Tengo una página que consta de 4 formularios.
En la página1.php tengo el formulario1,las variables de este formulario1 las mando a la página2.php donde se utilizan para crear el formulario2 de esta página(dependiendo de los datos mandados por el formulario1 este formulario2 tendrá mas o menos casillas ).El formulario 2 manda los datos al formulario3 y asi sucesivamente.

Lo que quiero saber,es si existe alguna manera de tener una pagina principal,y en esa página hacer llamadas a los formularios como si fueran funciones,y cuando se les de a enviar en el formulario me retornen el resultado al mismo lugar de la pagina principal desde donde les llame.

Por favor,necesito ayuda con este tema urgente poque estoy parado y no avanzo.

MUCHAS GRACIAS
  #2 (permalink)  
Antiguo 17/11/2002, 14:40
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

No entiendo muy bien lo que dices, pero creo que te refieres a que se vaya modificando la pagina sin volverla a cargar. Eso con PHP es imposible. PHP se ejecuta en el servidor. Si quieres ejecutar codigo PHP en funcion de un entrada del usuario, debes volver a cargar la pagina.

Lo que si puedes tener es un solo fichero php el codigo para los tres formularios y mostrar uno u otro en funcion de alguna variable cada vez que carges la pagina.

Si lo que quieres es modificar la pagina sin cargarla ( o sin que parezca que carga), puedes intentar usar JavaScript, Flash, o HTML (frames e iframes).

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 17/11/2002, 14:55
Avatar de batvampire  
Fecha de Ingreso: noviembre-2002
Mensajes: 87
Antigüedad: 22 años
Puntos: 0
PAGINA PRINCIPAL

{
Formulario1
Pide-->dat1,dat2,dat3,dat7(y devuelve el control a la pagina principal osea ,al punto q te indico como 1 ).
}

1

{
Formulario2
Recoge los valores del formulario1 pero no directamente de él sino de la pagina principal donde te he marcado el 1 .
}



En definitiva, quiero q la salida de los formularios vaya a la pagina principal,y sea la pagina principal la que lo manda al siguiente formulario.

Otro esquema igual del flujo de datos:
Pagina principal-àFormulario1àPagina principalàFormulario2



me refiero a que los formularios actuen como funciones.
Les llamas,se cargan en otra pagina y te devuelven el valor a la pagina principal.y es esa pagina principal la que manda los valores al formulario 2.

Pero eso la gente no lo tiene que ver la gente verá que vas al formulario1,y luego al 2(pero sin q vea q regresesas a la pagina principal)
__________________
:pirata:
  #4 (permalink)  
Antiguo 17/11/2002, 15:12
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
A ver, cuando cargas una pagina esta se ejecuta completamente. Es decir, La pagina principal se ejecuta completamente, no hay forma de que espere a que la gente rellene el formulario para llamar al siguiente formulario.

Como mucho podrias poner como action de los formularios la pagina principal y esta en funcion de un parametro incluir (con include()) el formulario adecuado. En pseudocodigo seria asi:
Código PHP:
switch ($num_formulario)
{
case 
0:
// incluye el primer formulario.
include ('formulario1.php');
break;
case 
1:
// incluye el segundo formulario.
include ('formulario2.php');
break;
case 
2:
// incluye el tercer formulario.
include ('formulario3.php');
break;
case 
3:
// incluye el cuarto formulario.
include ('formulario4.php');
break;

default:
// incluye el primer formulario.
include ('formulario1.php');
break;


No se si es esto lo que quieres.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 17/11/2002, 16:46
Avatar de batvampire  
Fecha de Ingreso: noviembre-2002
Mensajes: 87
Antigüedad: 22 años
Puntos: 0
De acuerdo regreso de nuevo:>

Hola de nuevo.
creo q mas o menos me has entendido,de hecho me has dado una buena idea que no se me había ocurrido,el uso de switch,sabía q existía y se como funciona pero no me vino la chispa y tu me has ayudado a verla

Voy a aprovechar tu idea,llamaré al primer formulario y al principio de la página de ese formulario daré un nuevo valor a la variable q evalua el switch para que cuando vuelva a la pagina principal ejecute el formulario2.
Pero otra cosa,en action de todos los formularios tengo q poner principal.php logicamente,no?y así siempre vuelven a la principal pero incrementando en uno el valor de la variable q va en switch y así ejecuto todos de uno en uno hasta el último q me saca del bucle.


Otra cosa, cada vez que vuelvan los valores del formulario como en action he puesto principal.php van al principio de la página principal y la recorren entera, no?

y no puede ir lo q devuelva el formulario justo después del bucle switch poniendo otra llamada en action?

MUCHAS GRACIAS
__________________
:pirata:
  #6 (permalink)  
Antiguo 18/11/2002, 14:05
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Bueno, a ver si me explico. En mi idea le tienes que pasar la variable como parametro (bien sea via URL o campo oculto de un formulario). Al ponerlo como action se vuelve a ejecutar la pagina principal desde el PRINCIPIO, recibiendo todos los parametros, incluido el que le indica que formulario mostrar.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 12:57.