Tengo varios formularios en la web, y lo máximo que he conseguido es que me lleguen a mi correo, pero solo me llegan los encabezados, osease que las respuestas nada de nada. Seguro que es alguna tontería, alguna linea que me he dejado o algo parecido. Ademas lo tengo configurado para que le llegue un correo con un mensaje al usuario que relleno el formulario y este si que no le llega. Están en PHP o por lo menos eso creo.
Si alguien me pudiese ayudar le estaría muy agradecido. Un saludo y gracias
Es imposible orientarte sobrer el error sin conocer el código. Envía el código para poder ayudarte.
Como te envío el código. La verdad es que llevo ya tiempo y por más vueltas que le doy no hay forma de que lo solucione. Seguro que se me ha pasado algo por alto. Aun estoy un poco verde en esto del php. Gracias
Puedes pegar aquí el código (la parte del formulario) así le sirve también de orientación a otros usuarios.
<? $nombresitio = "*****.com"; $contacto = "*****@*****.com"; $gracias = "Gracias por enviar tus comentarios o petición de información. En breve me pondré en contacto con usted"; ?> <HTML> <HEAD> <TITLE> <?php echo $nombresitio?> - Formulario de Contacto </TITLE> <META NAME="Description" CONTENT="Comentarios y sugerencias"> </HEAD> <BODY BGCOLOR="#FFFFFF" text="#000000"> <center> <table width="100%" bgcolor="black" cellspacing=0 cellpadding=0 valign=center border=0> <tr> <td bgcolor="#EBD5DF"><center> <b><font face="Verdana" size="2">CORREO ELECTRÓNICO ENVIADO EXITOSAMENTE</font></b></td> </tr> </table> <CENTER> <BR> <font face="Arial,verdana,helvica,san serif" size="2">Mil gracias por enviarme tus comentarios, sugerencias y/o petición de información<BR> Tus comentarios fueron enviados a la dirección de correo electrónico: <? php echo $contacto?> En unos momentos más recibirás un mensaje de confirmación en tu correo electrónico. </font> </CENTER> <? $parausuario = "$nombre $apellidos, gracias por enviar tus comentarios, sugerencias o petición de información.\n"; $parausuario .= "responderemos a su correo electrónico lo antes posible.\n"; $parausuario .= "Su mensaje fue enviado a la siguiente dirección de correo electrónico: $correo\n\n"; $parausuario .= "Sinceramente,\n"; $parausuario .= "$contacto\n"; $administrador .= "------Formulario de Comentarios y Sugerencias------\n"; $administrador .= "Nombre completo: $nombre $apellidos\n"; $administrador .= "Teléfono: $telefono\n"; $administrador .= "Correo Electrónico: $correoelectronico\n"; $administrador .= "Nos has conocido:\n"; $administrador .= "Por: $GrupoOpciones1\n"; $administrador .= "Comentarios:\n"; $administrador .= "$texto\n"; $administrador .= "----------Información de quien me visita----------\n"; $administrador .= "$HTTP_USER_AGENT\n"; $administrador .= "$REMOTE_ADDR\n"; mail("$correo", "$gracias", $parausuario, "From: $contacto"); mail("$contacto", "$nombresitio", $administrador, "From: $correo"); ?> <p><br> </center> </BODY> </HTML> Esto es lo que tengo para que funcione el formulario. Se supone que me tienen que salir las respuestas que rellenan los usuarios en el formulario pero tan solo me salen los encabezados no las respuestas y los nombres de las casillas se supone que coinciden. Si no hay ningún error aquí a lo mejor lo tengo en el formulario. Gracias
Comprueba que tengas activado el valor register_globals = On en tu php.ini, puedes comprobarlo si no es un servidor propio haciendo algo como en una página web. Tiene toda la pinta de ser por eso, si es así o bien activas register_globals o bien cambias la sintaxis. Por ejemplo, para que funcionara la variable nombre con register_globals off, sería algo así: $nombre=$_POST['nombre'] al principio del código. Esto lo puedes debugear con un echo, pero en principio tiene toda la pinta de ser por eso.
En mi caso estoy en un servidor que tengo contratado. Supongo que tendré que ponerme en contacto con ellos y preguntarles sobre el "register_globals". En la segunda opcion, entiendo que lo unico que tendria que hacer es colocar al principio "$nombre=$_POST['nombre']" y asi con todas las demas casillas?
Efectivamente, la otra opción (he oído de una tercera que es activar el register_globals por .htaccess pero no la he probado) es antes de procesar todas las variables del formulario, es decir, antes de asignarlas o trabajar con ellas, poner en la página de destino del formulario eso $variable=$_POST['campo_del_formulario_que_queremos_que_contenga_la_variable_$variable'] , y debería funcionar, de todas formas puedes probarlo poniendo echo de las variables.
Muchas gracias por todo, al final lo conseguí gracias a ti. A parte de un ligero problema que he tenido por culpa de los correos de hotmail, que al parecer todo aquel que introduce en su correo una cuenta de hotmail no le llega el mensaje de confirmación, todo lo demás me llega perfectamente. El metodo utilizado este: $variable=$_POST['campo_del_formulario_que_queremos_que_contenga_la_variable_$variable'] Por fin podre seguir trabajando en el resto de la página. Muchas gracias