Enviar formulario. Ayuda plizZ

nconocen

He creado un formulario y lo que pretendo hacer es que al rellenarlo envie esos datos a un correo electronico, el formulario esta hecho y el codigo php para mandar el email tambien pero cuando envia el email se recibe correctamente con el asunto pero sin mensaje.
No se que es lo que pasa dejo aqui enlaces a los archivos y si teneis 5 minutitos mirar el codigo fuente para ver que puedo hacer para que funcione porfavor:

http://www.eamador.net/email.htm
http://www.eamador.net/email.php

Email.htm:
<html>
<head>
<title></title>
</head>
< body>
<div align="center" style="width: 323; height: 213">
<center>
<br>
<FORM ACTION="email.php" METHOD="POST">
<table width=70% border=0>
<tr>
<td width=29%>
<div align=right><strong>Nombre:</strong></div></td>
<td width=71%> <div align=left>
< input name=Nombre type=text size=20>
</div></td>
</tr>
<tr>
<td><div align=right><strong>Apellidos:</strong></div></td>
<td><div align=left>
< input name=PrimerApellido type=text size=20>
< input name=SegundoApellido type=text size=20>
</div></td>
</tr>
<tr>
<td height=21>
<div align=right><strong>Dirección:</strong></div></td>
<td> <div align=left><strong>Calle:</strong>
< input name=Calle type=text size=20>
<strong>Número:</strong>
< input name=Numero type=text size=8>
<strong>Piso:</strong>
< input name=Piso type=text size=8>
</div></td>
</tr>
<tr>
<td><div align=right><strong>Teléfono:</strong></div></td>
<td>< input name=Telefono type=text size=20> </td>
</tr>
<tr>
<td><div align=right><strong>Correo electrónico</strong></div></td>
<td>< input name=CorreoElectronico type=text size=20> </td>
</tr>
<tr>
<td><div align=right><strong>Número de referencia:</strong></div></td>
<td>< input name=Referencia type=text size=8>
<strong>Cantidad:</strong>
< input name=Cantidad type=text size=8> </td>
</tr>
<tr>
<td><div align=right><strong>Observaciones:</strong></div></td>
<td><textarea name=Observaciones cols=30 rows=5></textarea> </td>
</tr>
</table>
< input type=submit name=accion value=enviar>
</FORM>
</center>
</div>
</body>

</html>

Email.php:
<html>
<head>
<title></title>
</head>
< body>
<? $asunto = 'Pedido Manuelvasco.com';

$res= mail("[email protected]",$asunto,"Nombre: ".$Nombre."\n\n Primer apellido:".$PrimerApellido."\n\n Segundo apellido:".$SegundoApellido."\n\n Direccion (calle):".$Calle."\n\n Direccion (numero):".$Numero."\n\n Direccion (piso):".$Piso."\n\n Telefono:".$Telefono."\n\n Correo electronico:".$CorreoElectronico."\n\n Referencia:".$Referencia."\n\n Cantidad:".$Cantidad."\n\n Observaciones:".$Observaciones."");
 if ($res)
 	echo "<br><br><br><br><br><p align='center'>[b]Mensaje enviado...[/b]</p>";
 else
 	echo "<br><br><p align='center'>[b]Problema al enviar el Mensaje...[/b]</p>";

?>

</body>
</html>

Saludos y gracias por adelantado

Editado: en los input y en body he puesto un espacio entre < y la primera letra para que salga el codigo...

Abreu

Si no pegas el codigo del PHP no podemos hacer nada

nconocen

puse los enlaces para que lo vierais el codigo fuente desde internet para no hacer muy lioso el post

TeTu

Pero el codigo PHP no lo podemos ver desde el codigo fuente de una web, si no haz tu mismo la prueba.

nconocen

Tetu ya me he dado cuenta no cai en eso, ahi teneis los 2 codigos ;)

Abreu

La funcion mail esta bien escrita, a mi me funciona perfectamente tal y como esta.

Habia pensado que era problema de llamar a variables globales en vez de usar el array $_POST pero tu dices que el cuerpo del email esta en blanco, no que este incompleto, verdad?

nconocen

En el codigo php tengo puedo para que en el email ponga por ejemplo Direccion: (y aqui lo que se haya puesto en el formulario). Pues yo recibo el email con Direccion: pero aqui sale en blanco y asi con todos los campos del formulario

Whose

Prueba a usar $_POST en todas las variables de formulario, ya que van en archivos distintos puede ser esa la razon.

IS4kO

Prueba tal que asi:

$mensaje = "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$mensaje .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
$mensaje .= "Opiniones: " . $HTTP_POST_VARS["opinion"] . "\n";
.
.
.

mail("[email protected]","Formulario recibido",$mensaje);

Whose

Prueba lo que dice IS4kO corrigiendo el tema de las superglobales, hace ya tiempo que se usa $_POST en vez de $HTTP_POST_VARS.

Carcass

#10 Lástima que tantísimos ISP no actualicen el PHP y no funcione siempre lo de $_POST.

Usad siempre $HTTP_POST_VARS y nos evitamos líos :-P

nconocen

venga voy a probar, muchas gracias :D

Usuarios habituales

  • nconocen
  • Carcass
  • Whose
  • IS4kO
  • Abreu
  • TeTu