Foros del Web » Programando para Internet » PHP »

No recibo bien la respuesta de un formulario.

Estas en el tema de No recibo bien la respuesta de un formulario. en el foro de PHP en Foros del Web. Hola a todos, mi duda es la siguiente: He creado una encuesta en mi página web utilizando un formulario. Una vez se envía la opción ...
  #1 (permalink)  
Antiguo 22/12/2008, 12:08
 
Fecha de Ingreso: diciembre-2008
Mensajes: 5
Antigüedad: 15 años, 4 meses
Puntos: 0
No recibo bien la respuesta de un formulario.

Hola a todos, mi duda es la siguiente:

He creado una encuesta en mi página web utilizando un formulario. Una vez se envía la opción elegida, transfiero los datos a otra página en php que para el usuario es simplemente de agradeciemiento y a mi me sirve para que me envíe los datos a mi correo en el formato elegido.

Todo esto funciona correctamente cuando lo hago desde mi ordenador e incluso desde otros en los que he probado, pero no se por qué, en la mayoría de las ocasiones me llega el mensaje solo con las cabeceras y sin los datos que deben ir en las variables del mensaje.

¿Puede que falte algún complemento en el ordenador que envía el resultado de la encuesta?¿Como se solucionaría este problema?

Gracias por la ayuda, un saludo.
  #2 (permalink)  
Antiguo 22/12/2008, 12:28
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: No recibo bien la respuesta de un formulario.

Así de primeras poco podemos hacer...

Deberías mostrar tu código para que podamos echarle un vistazo.
  #3 (permalink)  
Antiguo 22/12/2008, 12:28
 
Fecha de Ingreso: octubre-2004
Mensajes: 88
Antigüedad: 19 años, 6 meses
Puntos: 2
Respuesta: No recibo bien la respuesta de un formulario.

Seguramente estas usando variables globales y en tu maquina no están habilitadas.

Podrías pegar el código para verlo??
__________________
Consejos de Programación
  #4 (permalink)  
Antiguo 22/12/2008, 12:40
Avatar de alcide  
Fecha de Ingreso: diciembre-2008
Mensajes: 52
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: No recibo bien la respuesta de un formulario.

Prueba recuperar los datos de esta forma.

$elegida= $HTTP_POST_VARS['elegida'];


Saludos
  #5 (permalink)  
Antiguo 22/12/2008, 12:44
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: No recibo bien la respuesta de un formulario.

Creo que el problema es que le funciona con algunos clientes y con otros no. No en servidores diferentes, o al menos eso entendí yo.

De todas maneras, no sirve de mucho divagar sobre lo que puede estar pasando, mejor que sea él quien nos lo aclare mejor, con código y alguna explicación.
  #6 (permalink)  
Antiguo 22/12/2008, 12:54
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: No recibo bien la respuesta de un formulario.

Cita:
Iniciado por alcide Ver Mensaje
Prueba recuperar los datos de esta forma.

$elegida= $HTTP_POST_VARS['elegida'];


Saludos
HTTP_*_VARS esta obsoleto, ahora se usa $_POST, $_GET, $_SESSION, etc...
  #7 (permalink)  
Antiguo 22/12/2008, 13:40
 
Fecha de Ingreso: diciembre-2008
Mensajes: 5
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: No recibo bien la respuesta de un formulario.

Hola de nuevo, aquí os muestro el código. Con PHP ando bastante perdido pero creo que he utilizado dos veces la instrucción "<?php"...


Este es el código del formulario:

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


Este es el código de la página de agradecimiento que utilizo para hacer el envío de los datos. La sección donde envío los datos la he marcado en rojo:


<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?><!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-transitional.dtd">
<html>
<head>
----Aquí van las etiquetas meta-------
<link rel="stylesheet" type="text/css" href="mail.css" />
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
<body background="../Imagenes/Etiquetas%20Y%20Fondos/FondoPantalla.gif" link="#0000FF" vlink="#0000FF" alink="#0000FF" onload="MM_preloadImages('../Imagenes/Simbolos/LogotipoEvosAzul.gif')">
<table width="311" border="0" align="center" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="107" height="42">&nbsp;</td>
<td width="198">&nbsp;</td>
<td width="6">&nbsp;</td>
</tr>
<tr>
<td rowspan="2" valign="top"><a href="index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('logo','','../Imagenes/Simbolos/LogotipoEvosAzul.gif',1)"><img src="../Imagenes/Simbolos/LogotipoEvos.gif" alt="Grupo Evos." name="logo" width="80" height="85" border="0" id="logo" /></a></td>
<td height="67" valign="top"><p><font color="#0000FF">Gracias por su Respuesta</font></p>
<p><font color="#0000FF">Thank you for your response</font></p></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="18" align="center" valign="middle">
<?php
$dia=date("d.m.Y");
$hora=date("H:i:s");
$destinatario="[email protected]";
$asunto="encuesta";
$para="Grupo Evos";
$contingut = "
El mensaje se a enviado el dia $dia a las $hora\n\n
----------------------------------------------------------------------------\n
Respuesta: $_POST[lista]\n
----------------------------------------------------------------------------\n
";
mail($destinatario, $asunto, $para, $contingut);
?>

</td>
<td></td>
</tr>
<tr>
<td height="5"></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="1" valign="top"><img src="transparent.gif" alt="" width="107" height="1"></td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
</table>
</body>
</html>

Gracias por la ayuda, un saludo.
  #8 (permalink)  
Antiguo 22/12/2008, 13:47
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: No recibo bien la respuesta de un formulario.

Mira si estás utilizando bien la función mail:

bool mail ( string $para , string $asunto , string $mensaje [, string $cabeceras_adicionales [, string $parametros_adicionales ]] )

http://es.php.net/manual/es/function.mail.php

¿Qué es lo que envía cuando no lo hace correctamente?

Y $_POST[lista] estaría mejor como $_POST['lista']
  #9 (permalink)  
Antiguo 22/12/2008, 14:08
 
Fecha de Ingreso: diciembre-2008
Mensajes: 5
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: No recibo bien la respuesta de un formulario.

Esto es lo que recibo normalmente:

El mensaje se a enviado el dia 20.12.2008 a las 23:55:53


----------------------------------------------------------------------------

Respuesta:

----------------------------------------------------------------------------



Grupo Evos


Y esto es un ejemplo de lo que debería recibir y lo que recibo cuando lo hago desde mi ordenador o desde otros que probe:


El mensaje se a enviado el dia 01.12.2008 a las 19:17:49


----------------------------------------------------------------------------

Respuesta: Folletos publicitarios

----------------------------------------------------------------------------



Grupo Evos
  #10 (permalink)  
Antiguo 22/12/2008, 14:18
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: No recibo bien la respuesta de un formulario.

Intenta crear todos los options con su valor correspondiente

<option value="Este es el valor">Aqui lo que ve el usuario</option>
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 22/12/2008, 14:28
 
Fecha de Ingreso: diciembre-2008
Mensajes: 5
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: No recibo bien la respuesta de un formulario.

He probado a modificar lo que me comentas de:

Y $_POST[lista] estaría mejor como $_POST['lista']

Al hacer este cambio la página al cargarse da error en esa línea.

Dejandolo como está, desde mi ordenador funciona perfectamente y me devuelve los datos que deben ir en la sección "Respuesta:".

Lo que no entiendo es porque muchas veces me llegan los mensajes que envían otros con el campo "Respuesta:" en blanco y sin embargo si me llegan los datos de las variables de fecha y hora ...

Gracias, un saludo.
  #12 (permalink)  
Antiguo 22/12/2008, 14:32
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: No recibo bien la respuesta de un formulario.

Da error por tema de comillas...

Y probablemente te lleguen en blanco porque se accederá a la página directamente sin pasar por el formulario.

Deberías comprobar al inicio del script si existe la variable $_POST['lista']
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 20:09.