Ver Mensaje Individual
  #11 (permalink)  
Antiguo 29/07/2008, 11:40
rvelezb
 
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 81
Antigüedad: 20 años, 9 meses
Puntos: 1
Exclamación Respuesta: Mostrar un formulario u otro en una misma página

Al final, lo he hecho en PHP, menos complicaciones, pero no sale del todo bien, me explico, la 1ª vez que entre en la página muestra el primer formulario, el de escoger el tipo de contacto, pero después, escoja la opción que escoja, siempre me muestra el mismo, el 3º, el 2º formulario nunca me lo llega a mostrar, pongo aquí el código:

Código PHP:
if (! isset($_POST['btn_Aceptar'])) {
// si no se ha pulsado ninguna vez el botón de enviar el formulario para escoger el tipo de contacto, entonces muestro dicho formulario. 
// Aquí vendría el formulario. 
Código HTML:
 <form id="f_eleccion" name="f_eleccion" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
                           <!-- Aquí iría todo el formualrio --> 
Código PHP:
   unset($_POST['$btn_Aceptar']); // destruimos el valor de la variable para que la próxima vez que se cargue la página muestre de nuevo el 1er formulario
// pero no sé porque no la borra, si hacemos un 'echo' nos sigue mostrando el valor de la variable
// cerramos la llave del 'if' anterior
elseif ($_POST['btn_Aceptar'] == "infor") {
// en caso de que se haya enviado alguna vez el formulario anterior
// evaluamos si la opción escogida es esa, mostramos el 2º formulario
// Aquí vendría el 2º formulario
// Nunca entra aquí, la 1ª vez que se entra en la página, entra en el 'if', y después, escoja la opción que escoja en el 1er formulario, siempre me muestra el último, va directamente al 'else', la condición del 'elseif' nunca la cumple 
Código HTML:
 <form name="f_info" id="f_info" action="mailto:mi_direccion@mi_dominio.com?subject=Solicitud de Información" <?php $cuerpo_mensaje ?>  method="post" enctype="text/html">
                           <!-- Aquí iría todo el formualrio --> 
Código PHP:
   unset($_POST['$btn_Aceptar']); // destruimos el valor de la variable para que la próxima vez que se cargue la página muestre de nuevo el 1er formulario
// pero no sé porque no la borra, si hacemos un 'echo' nos sigue mostrando el valor de la variable
// cerramos la llave del 'elseif'
else {
// en caso de que la opción escogida no sea la anterior, mostramos el 3er y último formulario, ya que sólo hay dos opciones a escoger, y si no es una, es la otra
// Aquí iría el 3er formulario 
Código HTML:
 <form name="f_soporte" id="f_soporte" action="mailto:mi_direccion@mi_dominio.com?subject=Solicitud de Soporte" <?php $cuerpo_mensaje ?>  method="post" enctype="text/html">
                           <!-- Aquí iría todo el formualrio --> 
Código PHP:
   unset($_POST['$btn_Aceptar']); // destruimos el valor de la variable para que la próxima vez que se cargue la página muestre de nuevo el 1er formulario
// pero no sé porque no la borra, si hacemos un 'echo' nos sigue mostrando el valor de la variable
// cerramos la llave del 'if' anterior 

Un saludo.


P.D.: ¿Hay alguna función que recargue la página?, porque después de "enviar" el formulario de soporte, que realmente no envía nada, sólo abre la ventana del Outlook y te rellena los correspondientes campos, aunque ese es otro tema, e iría en otra categoría, se me queda siempre en ese formulario.

Última edición por rvelezb; 29/07/2008 a las 11:46