PHP - Enviar formulario HTML a través de PHP

 
Vista:

Enviar formulario HTML a través de PHP

Publicado por Óscar (2 intervenciones) el 19/04/2009 18:05:02
Hola a todos, deseo haceros una consulta a ver si alguien sabe por qué me ocurre lo siguiente: Tengo en la página principal de mi web un formulario en el que solicito a la gente que me diga como nos conoció. El formulario al igual que la página es HTML y es simple, solo tiene un cuadro de menú en el que se elige una de las opciones y un cuadro enviar.

Para enviar los datos utilizo una página PHP con un script que recoge los datos del formulario y los envía a la dirección que yo quiero. El caso es que haciéndolo desde mi ordenador y desde otros que he probado todo funciona perfectamente pero no se por qué en algunas ocasiones me llegan los correos con la respuesta en blanco. Pero solo el campo de la variable $respuesta que es la que contiene el valor de $_POST['lista'], o sea, el valor de la opción elegida en el campo de menú del formulario.

Cuando se pulsa el botón enviar del formulario se abre otra ventana donde se muestra la página PHP con un mensaje que indica que el formulario se envió correctamente. Como solo falla en algunas ocasiones, entiendo que debe ocurrir un fallo en algunos ordenadores y como de PHP casi no entiendo nada no tengo muy claro si podría ser un problema de versión del navegador que utiliza él que envía la respuesta o un fallo de mi página.

Os muestro el formulario y el script de la página PHP para ver si alguien me puede ayudar.

Gracias por la ayuda, un saludo.

---------------------------------- Formulario ---------------------------------------------------
<form action="encuesta_respuesta.php" method="post" name="encuesta" target="_blank" id="encuesta">
<p>
<select name="lista" id="select">
<option value="Internet anuncio publicitario">Internet (anuncio publicitario)</option>
<option value="Buscador de Internet">Internet (a través de un buscador)</option>
<option value="Folletos publicitarios">Folletos publicitarios</option>
<option value="Prensa">Prensa</option>
<option value="Amigos">Amigos</option>
<option value="Otros">Otros</option>
</select>
</p>
<p>
<input type="submit" name="Submit" value="Enviar" />
</p>
</form>

---------------------- archivo php que recoge los datos del formulario - encuesta_respuesta.php --------------
<?
$dia=date("d.m.Y");
$hora=date("H:i:s");
$destinatario="[email protected]";
$asunto="Participacion en la Encuesta";
$para="Grupo";
$respuesta = $_POST['lista'];
$contingut = "
El mensaje se envio el dia $dia a las $hora
----------------------------------------------------------------------------
Nos han encontrado a traves de: $respuesta
----------------------------------------------------------------------------
";
mail($destinatario, $asunto, $para, $contingut);
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Enviar formulario HTML a través de PHP

Publicado por Antonio (4 intervenciones) el 19/04/2009 20:34:15
¿Hay alguna opción marcada por defecto?

Por lo que veo no. La informática es una ciencia xDD y o funciona o no funciona, en este caso no hay variables que puedan contener errores o algo asi, es fácil.

Mi consejo es que marques una por defecto con el atributo checked="checked".
Podrías, si quieres, añadir una variable oculta que sólo cambiara si el usuario cambia el valor de "lista" de manera que sepas si el usuario pinchó o no.

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enviar formulario HTML a través de PHP

Publicado por Óscar (2 intervenciones) el 20/04/2009 19:09:46
Hola Antonio, sobre tu pregunta si hay alguna opción marcada. El formulario solo tiene un cuadro de menú en el que no hay una opción en blanco. El cuadro de lista siempre tiene una opción visible y si se abre el cuadro de menu aparecen las demás. Es probable que muchas veces se pulse el botón enviar del formulario sin tocar el cuadro de menú, probablemente por estar de acuerdo con la opción que se muestra en dicho cuadro.

Yo he probado desde mi ordenador y desde otros ordenadores y el formulario se envía perfectamente tanto eligiendo una opción y pulsando enviar como pulsando enviar directamente sin tocar el cuadro de menú pero en ciertas ocasiones, no en todas, recibo el mensaje con el campo respuesta vacio.

De todas formas intentaré modificar el cuadro con la sugerencia que me das a ver si funciona mejor.

Gracias por tu respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enviar formulario HTML a través de PHP

Publicado por ambrosio (38 intervenciones) el 22/04/2009 16:14:51
Seguro que son robots. Si tú, o cualquier ser humano, envias el formulario todo va bien. Pero ¿qué pasa si un robot ha "recogido" el action de tu formulario y ejecuta ese PHP directamente?. Pues ya lo sabes, que recibes un mail sin "respuesta"...

Antes de enviar el correo verifica que hay respuesta, y de no haberla no envies el correo.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar