Retroceder   Foros del Web > Programación para sitios web > PHP

Respuesta
 
Herramientas Desplegado
Antiguo 24-jul-2008, 14:57   #1 (permalink)
conic está en el buen camino
 
Avatar de conic
 
Fecha de Ingreso: marzo-2003
Ubicación: Buenos Aires
Mensajes: 90
Enviar un mensaje por MSN a conic
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 = 'supportfuturoe@gmail.com';
$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-jul-2008 a las 16:40.
conic está desconectado   Responder Citando
Antiguo 24-jul-2008, 16:52   #2 (permalink)
MoebiusDigital no se puede cailificar en este momento
 
Fecha de Ingreso: junio-2007
Ubicación: Buenos Aires, Argentina
Mensajes: 139
Enviar un mensaje por MSN a MoebiusDigital
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
MoebiusDigital está desconectado   Responder Citando
Antiguo 24-jul-2008, 16:59   #3 (permalink)
conic está en el buen camino
 
Avatar de conic
 
Fecha de Ingreso: marzo-2003
Ubicación: Buenos Aires
Mensajes: 90
Enviar un mensaje por MSN a conic
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 [
conic está desconectado   Responder Citando
Antiguo 24-jul-2008, 17:08   #4 (permalink)
MoebiusDigital no se puede cailificar en este momento
 
Fecha de Ingreso: junio-2007
Ubicación: Buenos Aires, Argentina
Mensajes: 139
Enviar un mensaje por MSN a MoebiusDigital
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
MoebiusDigital está desconectado   Responder Citando
Antiguo 24-jul-2008, 17:16   #5 (permalink)
Marvin tiene algunos puntos positivos de karma
 
Avatar de Marvin
 
Fecha de Ingreso: febrero-2005
Ubicación: Santiago - Chile
Mensajes: 1.119
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.
Marvin está desconectado   Responder Citando
Antiguo 24-jul-2008, 17:29   #6 (permalink)
conic está en el buen camino
 
Avatar de conic
 
Fecha de Ingreso: marzo-2003
Ubicación: Buenos Aires
Mensajes: 90
Enviar un mensaje por MSN a conic
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 [
conic está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 00:10.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93