Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PHP (http://www.forosdelweb.com/f18/)
-   -   Seleccion de campo con tres opciones distintas de resultado (Form) (http://www.forosdelweb.com/f18/seleccion-campo-con-tres-opciones-distintas-resultado-form-609071/)

conic 24/07/2008 14:57

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!!

MoebiusDigital 24/07/2008 16:52

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

conic 24/07/2008 16:59

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.

MoebiusDigital 24/07/2008 17:08

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

Marvin 24/07/2008 17:16

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! :arriba:

conic 24/07/2008 17:29

Respuesta: Seleccion de campo con tres opciones distintas de resultado (Form)
 
Gracias Pablo y Marvin. :aplauso:

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 :si:


La zona horaria es GMT -6. Ahora son las 11:40.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.