Foros del Web » Programando para Internet » PHP »

tres formularios en un mismo script?

Estas en el tema de tres formularios en un mismo script? en el foro de PHP en Foros del Web. Hola a todos, tengo tres formularios en un script, quiero que cuando introduzca valores del primer formulario aparezcan otros dos formularios para ahí seguir poniendo ...
  #1 (permalink)  
Antiguo 01/10/2009, 03:37
Avatar de JOSANCIN  
Fecha de Ingreso: septiembre-2008
Ubicación: huesca
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 0
tres formularios en un mismo script?

Hola a todos, tengo tres formularios en un script, quiero que cuando introduzca valores del primer formulario aparezcan otros dos formularios para ahí seguir poniendo mas valores, eso lo he conseguido, pero lo que quiero es que cuando eso sucede que desaparezca de la pantalla el primer formulario.

<?php
echo 'PRIMER FORMULARIO'.'<br>';
echo '<form method="post" action="">';
echo '<input type="text" name="nombre">';
echo '<input type="submit" name="enviar" value="enviar">';
echo '</form>';

if (isset($_POST['nombre']) || isset($_POST["profesion"]) || isset($_POST["nacionalidad"])){

echo 'SEGUNDO FORMULARIO'.'<br>';
echo '<form method="post" action="">';
echo '<input type="text" name="profesion">';
echo '<input type="submit" name="enviar" value="enviar">';
echo '</form>';

echo 'TERCER FORMULARIO'.'<br>';
echo '<form method="post" action="">';
echo '<input type="text" name="nacionalidad">';
echo '<input type="submit" name="enviar" value="enviar">';
echo '</form>';


}

Última edición por JOSANCIN; 01/10/2009 a las 03:54
  #2 (permalink)  
Antiguo 01/10/2009, 04:19
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: tres formularios en un mismo script?

Buenas

Tan sólo debes cambiarle el "name" al botón de envío de cada formulario (enviar1, enviar2, y enviar3) y ponerle un if al primer formulario:

Código PHP:
if (!isset($_POST["enviar"])){ // Si no se ha mandado el primero, se muestra
  
echo 'PRIMER FORMULARIO'.'<br>';
  echo 
'<form method="post" action="">';
  echo 
'<input type="text" name="nombre">';
  echo 
'<input type="submit" name="enviar1" value="enviar">';
  echo 
'</form>';
}

if (isset(
$_POST['nombre']) || isset($_POST["profesion"]) || isset($_POST["nacionalidad"])){
  if (!isset(
$_POST["enviar2"])){ // Si el segundo formulario no ha sido enviado, se muestra
    
echo 'SEGUNDO FORMULARIO'.'<br>';
    echo 
'<form method="post" action="">';
    echo 
'<input type="text" name="profesion">';
    echo 
'<input type="submit" name="enviar2" value="enviar">';
    echo 
'</form>';
  }

  if (!isset(
$_POST["enviar3"])){ // Si el tercer formulario no ha sido enviado, se muestra
    
echo 'TERCER FORMULARIO'.'<br>';
    echo 
'<form method="post" action="">';
    echo 
'<input type="text" name="nacionalidad">';
    echo 
'<input type="submit" name="enviar3" value="enviar">';
    echo 
'</form>';
  }

Ten en cuenta que todo esto es estático por eso, es decir, vas recargando la página hasta 3 veces para llenar los 3 formularios. Si lo quisieras dinámicamente deberías usar otros lenguajes como JavaScript por ejemplo.

PD: Por curiosidad, por qué lo haces en 3 formularios distintos en vez de en uno? Sólo son 3 preguntas: nombre, profesión, nacionalidad... y enviar! no? :/

Espero que te sirva
Saludos
  #3 (permalink)  
Antiguo 01/10/2009, 04:37
Avatar de JOSANCIN  
Fecha de Ingreso: septiembre-2008
Ubicación: huesca
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 0
Hola, genial, muchas gracias
En realidad no son esos datos, lo que ocurre es que los he puesto para simplificar la pregunta.
Tengo primero que introducir los datos del primer entrenador de unos equipos de baloncesto, una vez que se rellena quiero introducir los del segundo entrenador y los datos de los jugadores para que se vayan almacenando en una tabla

Muchisimas gracias de nuevo por tu ayuda
Que vaya bien

perdona, en realidad no he respondido a tu pregunta, los datos de los formularios de los entrenadores y jugadores son distintos
que vaya bien

Última edición por GatorV; 01/10/2009 a las 10:30
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 19:33.