Foros del Web » Programando para Internet » PHP »

Simple Formulario

Estas en el tema de Simple Formulario en el foro de PHP en Foros del Web. Tengo un formulario que envie un mensaje a tu mail, funciona muy bien, pero el problema es que me pidieron un lista con varias opciones ...
  #1 (permalink)  
Antiguo 23/08/2011, 09:17
Avatar de diepdraco  
Fecha de Ingreso: marzo-2005
Mensajes: 165
Antigüedad: 19 años, 1 mes
Puntos: 0
Pregunta Simple Formulario

Tengo un formulario que envie un mensaje a tu mail, funciona muy bien, pero el problema es que me pidieron un lista con varias opciones y no la esta cachando

Formulario

<form action="mailer.php" method="post" name="form1" id="form1">
<table width="400" border="0" align="center">
<tr>
<td width="84" align="left" class="texto_cont"><span class="text2">Nombre</span>: </td>
<td width="306"><input name="Nombre" type="text" class="text_gris12" size="40" />
</td>
</tr>
<tr>
<td align="left" class="texto_cont"><span class="text2">Tel&eacute;fono</span>: </td>
<td><input name="Telefono" type="text" class="text_gris12" size="40" maxlength="8" /></td>
</tr>
<tr>
<td align="left" class="text2">E-mail:</td>
<td><input name="Correo" type="text" class="text_gris12" size="40" /></td>
</tr>
<tr>
<td align="left" class="text2">Ciudad:</td>
<td><input name="Ciudad" type="text" class="text_gris12" size="40" /></td>
</tr>
<tr>
<td align="left" class="text2">Direcci&oacute;n: </td>
<td><input name="Domicilio" type="text" class="text_gris12" size="40" /></td>
</tr>
<tr>
<td align="left" valign="top" class="text2">Depto</td>
<td><label>
<select name="Depto" id="Depto">
<option>Financieros</option>
<option>Ventas</option>
<option>Almacen</option>
</select>
</label></td>
</tr>
<tr>
<td align="left" valign="top" class="text2">Comentario</td>
<td><textarea name="Mensaje" cols="40" class="text_gris12"></textarea></td>
</tr>
<tr>
<td valign="top" class="text_azul11bold">&nbsp;</td>
<td align="center"><input name="submit" type="submit" class="text_gris11_center" value="Enviar" /></td>
</tr>
</table>
</form>


Y este es el mailer.php que recibe los datos y los envia al mail

<?php
if(isset($_POST['submit'])) {
$to = "[email protected]\n";
$subject = "Reservaciones";
$Nombre_field = $_POST['Nombre'];
$Telefono_field = $_POST['Telefono'];
$Domicilio_field = $_POST['Domicilio'];
$Ciudad_field = $_POST['Ciudad'];
$Correo_field = $_POST['Correo'];
$Correo_field = $_POST['Depto'];
$Mensaje = $_POST['Mensaje'];
$body = "
Nombre: $Nombre_field\n
Telefono: $Telefono_field\n
Correo: $Correo_field\n
Ciudad: $Ciudad_field\n
Domicilio: $Domicilio_field\n
Depto: $Depto_field\n
Mensaje:\n $Mensaje";
mail($to, $subject, $body);
} else {
echo "blarg!";
}
?>

Que estoy haciendo mal!?
__________________
No por siempre llovera
  #2 (permalink)  
Antiguo 23/08/2011, 09:23
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Simple Formulario

1) en el html no tienes values en los <options> del <select>
2) en el php asignas 2 veces $Correo_field
  #3 (permalink)  
Antiguo 23/08/2011, 09:56
Avatar de diepdraco  
Fecha de Ingreso: marzo-2005
Mensajes: 165
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Simple Formulario

Cita:
Iniciado por darkasecas Ver Mensaje
1) en el html no tienes values en los <options> del <select>
2) en el php asignas 2 veces $Correo_field
Del dos tienes razon es un error de dedo que ya quedo corregido, pero tu comentario num 1 no se a que te refieres, no se mucho o casi nada de programacion
__________________
No por siempre llovera
  #4 (permalink)  
Antiguo 23/08/2011, 10:39
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Simple Formulario

El 1 no tiene nada que ver con programacion, es html
Código:
<select name="Depto" id="Depto">
<option>Financieros</option>
...
La etiqueta <option> debe llevar un atributo "value"
<option value="valor_que_se_envia">texto que se muestra</option>
  #5 (permalink)  
Antiguo 23/08/2011, 16:32
Avatar de diepdraco  
Fecha de Ingreso: marzo-2005
Mensajes: 165
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Simple Formulario

Todo el formulario ya funciona perfecto, pero no aparece la opcion del listado

El que envie

<select name="Depto" id="Depto" selected="selected">
<option value="Direccion General">Direccion General</option>
<option value="Ventas">Ventas</option>
<option value="Nuevos Proyectos">Nuevos Proyectos</option>
</select>

El que cacha

<?php
if(isset($_POST['submit'])) {
$to = "[email protected]\n";
$subject = "Reservaciones";
$Nombre_field = $_POST['Nombre'];
$Telefono_field = $_POST['Telefono'];
$Domicilio_field = $_POST['Domicilio'];
$Ciudad_field = $_POST['Ciudad'];
$Correo_field = $_POST['Correo'];
$Depto = $_POST['Depto'];
$Mensaje = $_POST['Mensaje'];
$body = "
Nombre: $Nombre_field\n
Telefono: $Telefono_field\n
Correo: $Correo_field\n
Ciudad: $Ciudad_field\n
Domicilio: $Domicilio_field\n
Depto: $Depto_field\n
Mensaje: $Mensaje\n";
mail($to, $subject, $body);
} else {
echo "blarg!";
}
?>

todo funciona perfecto pero la lista de tres opciones llega en blanco
__________________
No por siempre llovera
  #6 (permalink)  
Antiguo 23/08/2011, 16:43
 
Fecha de Ingreso: abril-2006
Mensajes: 105
Antigüedad: 18 años
Puntos: 11
Respuesta: Simple Formulario

Buenas, ¿Por qué pones selected="selected" en el select?
  #7 (permalink)  
Antiguo 23/08/2011, 16:49
Avatar de diepdraco  
Fecha de Ingreso: marzo-2005
Mensajes: 165
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Simple Formulario

asi me lo dejo el programa, pense que asi debe de ir, y en si lo movo de lugar asi estaba

<select name="Depto" id="Depto">
<option value="Direccion General" selected="selected">Direccion General</option>
<option value="Ventas">Ventas</option>
<option value="Nuevos Proyectos">Nuevos Proyectos</option>
</select>
__________________
No por siempre llovera
  #8 (permalink)  
Antiguo 23/08/2011, 18:15
 
Fecha de Ingreso: abril-2006
Mensajes: 105
Antigüedad: 18 años
Puntos: 11
Respuesta: Simple Formulario

El selected="selected" debe ir siempre en un objeto, en el que quieras que este preseleccionado, y si no es el caso, puedes borrarlo sin problemas.

Ahora al problema que nos ocupa.

Asegurate de que el valor Depto, esta bien escrito en todos los codigos, y fijate bien en que la sintaxis de alrededor de ese valor, este correcta.
  #9 (permalink)  
Antiguo 23/08/2011, 18:37
 
Fecha de Ingreso: julio-2011
Ubicación: guadalajara mX
Mensajes: 84
Antigüedad: 12 años, 9 meses
Puntos: 6
Respuesta: Simple Formulario

tu error es este

$Depto = $_POST['Depto'];

Depto: $Depto_field\n

guardas una variable llamada Depto y envias otra llamada Depto_field

Etiquetas: simple, formulario
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 18:24.