Foros del Web » Programando para Internet » PHP »

Seleccion de campo con tres opciones distintas de resultado (Form)

Estas en el tema de Seleccion de campo con tres opciones distintas de resultado (Form) en el foro de PHP en Foros del Web. Hola a todos. Les cuento que estoy haciendo un formulario, el cual al completarse en primer lugar envia por correo los resultados, y a la ...
  #1 (permalink)  
Antiguo 24/07/2008, 14:57
Avatar de conic  
Fecha de Ingreso: marzo-2003
Ubicación: Buenos Aires
Mensajes: 108
Antigüedad: 21 años
Puntos: 6
Seleccion de campo con tres opciones distintas de resultado (Form)

Hola a todos.

Les cuento que estoy haciendo un formulario, el cual al completarse en primer lugar envia por correo los resultados, y a la vez, genera una página de resultado la cual carga información resultante de ese formulario (Gracias Fulano de Empresa Tal... estos campos "los trae" de lo que el usuario completó) y a su vez un link a la descarga de un archivo. Hasta ahi, todo perfecto.

El caso es que hay un tema que tengo pendiente el cual francamente no se como hacer... resulta que dentro del formulario hay un menu desplegable (combo) el cual tiene una serie de opciones.. y lo que necesito es que de acuerdo a la opción seleccionada, la página resultante que les comentaba sea una diferente.

Les paso el código que tengo:

Este es del HTML donde está el formulario:

Código:
<FORM METHOD="post" ACTION="enviar.php" name="onlineform" onSubmit="return validateform( this.form )">
<input class="texto" name="nombre" type="text" id="nombre" size="30" />
<input class="texto" name="apellido" type="text" id="apellido" size="30" />
<input class="texto" name="mail" type="text" id="mail" size="30" />
<OPTION 
SELECT class="texto" name=tipoProyecto> <OPTION 
              value=Urbanización selected>Urbanizacion</OPTION> <OPTION 
              value=Walkup>Walkup</OPTION> <OPTION value=Calle>Calle</OPTION> 
              <OPTION value=Condominio>Condominio</OPTION></SELECT>
<INPUT class="texto" type=submit value=Enviar name=submit >
</FORM>
Este es del PHP de envío:

Código:
<?
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];

$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje .= "Primer Nombre: " . $nombre . " \r\n";
$mensaje .= "Primer Apellido: " . $apellido . " \r\n";
$mensaje .= "Posicion en la Junta: " . $posJunta . " \r\n";
$mensaje .= "E-mail: " . $mail . " \r\n";
$mensaje .= "Direccion: " . $direccion . " \r\n";
$mensaje .= "Ciudad: " . $ciudad . " \r\n";
$mensaje .= "Estado: " . $estado . " \r\n";
$mensaje .= "Codigo Postal: " . $codpostal . " \r\n";
$mensaje .= "Tel. Residencial: " . $telefono . " \r\n";
$mensaje .= "Fax: " . $fax . " \r\n";
$mensaje .= "Telefono Celular: " . $telmobil . " \r\n";
$mensaje .= "Nombre del Proyecto: " . $nombreproyecto . " \r\n";
$mensaje .= "Tipo de Proyecto: " . $tipoProyecto . " \r\n";
$mensaje .= "Nombre de Asociacion: " . $nombreasociacion . " \r\n";
$mensaje .= "Numero de Residencias: " . $numresidencia . " \r\n";
$mensaje .= "Cuota:$ " . $cuota . " \r\n";
$mensaje .= "Tipo de Cierre: " . $tipoCierre . " \r\n";
$mensaje .= "Donde Escucho de PHS: " . $donEscuch . " \r\n";
$mensaje .= "Fecha de Envio " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Solicitud de Propuesta Asociaciones';

mail($para, $asunto, utf8_decode($mensaje), $header);

header('Location: result_form.php?nombre='.$nombre.'&apellido='.$apellido.'&posicion='.$posJunta.'&empresa='.$nombreasociacion);

?>
Este es del PHP resultante del envío:

Código:
<p>
                          <strong>Bienvenido</strong><br>
                          <SPAN lang="ES-PR">Sr/a <?=$_GET['nombre'].' '.$_GET['apellido']?></SPAN> <BR>
                          <SPAN lang="ES-PR"><?=$_GET['posicion'].' de '.$_GET['empresa']?></SPAN>
</p>
                        <p>
                          <SPAN lang="ES-PR">Gracias por considerar a Preferred   Home Services, Inc. para</SPAN> <BR>
                          <SPAN lang="ES-PR">cubrir las necesidades de   cobros en su comunidad. Se incluye</SPAN> <BR>
                          <SPAN lang="ES-PR">la   cotizaci&oacute;n de los servicios solicitados por usted y un</SPAN> <BR>
                          <SPAN lang="ES-PR">borrador del Contrato de Servicios   para su evaluaci&oacute;n y</SPAN> <BR>
                          <SPAN lang="ES-PR">selecci&oacute;n de servicios. Nos   reiteramos en nuestro compromiso</SPAN> <BR>
                          <SPAN lang="ES-PR">de servirles y esperamos   una pronta reuni&oacute;n para intercambiar</SPAN> <BR>
                          <SPAN lang="ES-PR">impresiones.</SPAN>                        </p>
                        <p>Cordialmente, <BR>
                          Carlos M. Fuentes, Presidente <BR>
                          Preferred Home Services,   Inc. </p>
                        <SPAN lang="ES-PR">Para obtener una cotizaci&oacute;n   oprima</SPAN> <A href="pdf/endoso.pdf" target="_blank">Aqu&iacute;</A>
                        <p>
Desde ya muchas gracias por su ayuda!!
__________________
:-D ] CoNic [

Última edición por conic; 24/07/2008 a las 16:40
  #2 (permalink)  
Antiguo 24/07/2008, 16:52
 
Fecha de Ingreso: junio-2007
Ubicación: Buenos Aires, Argentina
Mensajes: 262
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Seleccion de campo con tres opciones distintas de resultado (Form)

Se me ocurren dos soluciones posibles:

1. Por javascript modificar el atributo action del formulario de acuerdo a lo seleccionado en el select.

2. Recoger los datos del select en PHP e incluir uno u otro archivo con diferentes contenidos de acuerdo a lo seleccionado.

Saludos,
Pablo
__________________
Moebius Digital | La pieza que faltaba
Diseño web | Web hosting
  #3 (permalink)  
Antiguo 24/07/2008, 16:59
Avatar de conic  
Fecha de Ingreso: marzo-2003
Ubicación: Buenos Aires
Mensajes: 108
Antigüedad: 21 años
Puntos: 6
Respuesta: Seleccion de campo con tres opciones distintas de resultado (Form)

Hola Pablo, gracias por tu respuesta.

Entiendo las opciones, no se si podrías ser un poco más específico en cuanto a la forma de llevarlo a cabo... en este momento como habrás notado en el código, uso javascript para la validación del formulario. Sin embargo, no se si la mejor alternativa es hacerlo en PHP.

De una manera u otra estoy un poco perdido así que te agradecería mucho me puedas dar un poco más en detalle la solución.

Muchas gracias.
__________________
:-D ] CoNic [
  #4 (permalink)  
Antiguo 24/07/2008, 17:08
 
Fecha de Ingreso: junio-2007
Ubicación: Buenos Aires, Argentina
Mensajes: 262
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Seleccion de campo con tres opciones distintas de resultado (Form)

Es un placer, conic. En PHP sería algo así:

Código:
if ($tipoProyecto = $_POST['tipoProyecto']){

switch ($tipoProyecto){

case 'Urbanización':
include('urbanizacion.php');
break;

case 'Walkup':
include('walkup.php');
break;


}
}
Se me ocurre que si el archivo lleva el mismo nombre que la opción del select a incluir, podés hacer lo siguiente.

Código:
if ($tipoProyecto = $_POST['tipoProyecto']){
include(strtolower($tipoProyecto.'.php'));
}
Cabe aclarar que no he validado el código, puede tener errores de tipeo.
Si seguís con dudas, volvé a consultar.
Saludos,

Pablo
__________________
Moebius Digital | La pieza que faltaba
Diseño web | Web hosting
  #5 (permalink)  
Antiguo 24/07/2008, 17:16
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Seleccion de campo con tres opciones distintas de resultado (Form)

Pero esto es tu select??
Código PHP:
<OPTION 
SELECT 
class="texto" name=tipoProyecto> <OPTION 
              value
=Urbanizaci&#243;n selected>Urbanizacion</OPTION> <OPTION 
              
value=Walkup>Walkup</OPTION> <OPTION value=Calle>Calle</OPTION
              <
OPTION value=Condominio>Condominio</OPTION></SELECT
Porque esta mal hecho si este es tu codigo... deberia ser esto:
Código PHP:
<SELECT class="texto" name="tipoProyecto">
    <
OPTION value="Urbanizacion" selected>Urbanizaci&#243;n</OPTION>
    
<OPTION value="Walkup">Walkup</OPTION>
    <
OPTION value="Calle">Calle</OPTION>
    <
OPTION value="Condominio">Condominio</OPTION>
</
SELECT
Para poder redireccionar segun lo que seleccionaron aca, basta con que pongas despues del envio del mail un location para la pagina que tu quieras... algo como esto:
Código PHP:
/* [...] */
mail($para$asuntoutf8_decode($mensaje), $header);

if(
$tipoProyecto == 'Urbanizacion'){
    
header('Location: urbanizacion.php?nombre='.$nombre.'&apellido='.$apellido.'&posicion='.$posJunta.'&empresa='.$nombreasociacion);
}elseif(
$tipoProyecto == 'Walkup'){
    
header('Location: walkup.php?nombre='.$nombre.'&apellido='.$apellido.'&posicion='.$posJunta.'&empresa='.$nombreasociacion);
}elseif(
$tipoProyecto == 'Condominio'){
    
header('Location: condominio.php?nombre='.$nombre.'&apellido='.$apellido.'&posicion='.$posJunta.'&empresa='.$nombreasociacion);
}elseif(
$tipoProyecto == 'Calle'){
    
header('Location: calle.php?nombre='.$nombre.'&apellido='.$apellido.'&posicion='.$posJunta.'&empresa='.$nombreasociacion);

Por poner un ejemplo.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #6 (permalink)  
Antiguo 24/07/2008, 17:29
Avatar de conic  
Fecha de Ingreso: marzo-2003
Ubicación: Buenos Aires
Mensajes: 108
Antigüedad: 21 años
Puntos: 6
De acuerdo Respuesta: Seleccion de campo con tres opciones distintas de resultado (Form)

Gracias Pablo y Marvin.

Les agradezco mucho a ambos, y si bien ambas opciones que plantearon eran perfectamente viables, opté por hacer la de Marvin y me funcionó muy bien.

Desde ya muchas gracias!!!

TEMA RESUELTO
__________________
:-D ] CoNic [
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 22:04.