¿por qué no funciona mi formulario?

Hola amigos, necesito vuestra ayuda.
Hace tres días que peleo con mi formulario y antes de desistir de ponerlo en mi web recurro a este foro que siempre aporta soluciones.

Encontré un formulario en http://www.yomaster.com/formularios.htm, lo puse en mi web y funciona correctamente:
http://www.bibliopos.es/contactar.htm

El caso es que ahora le estoy haciendo la web a un amigo y he colocado el mismo formulario, con algunas modificaciones en los campos, y no hay forma de que se abra la página de respuesta, ni de que me llegue mensaje alguno al correo. Mejor que veáis vosotros mismos cuál es el comportamiento del formulario cuando intentas enviarlo:
http://www.finimer.com/contactar.htm

¿Podríais decirme qué es lo que puede pasar? :cry:

Os pego los códigos por si encontráis algún error que yo no veo. De antemano, mil gracias. :wink:

En contactar.htm entre las etiquetas <body> y </body>


<form METHOD="GET" action="envio.php">
<center>
<table border="0" width="100%" id="table246" cellspacing="0" cellpadding="0" style="border-width: 0">
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">Nombre:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<input TYPE="text" NAME="nombre" SIZE="33"></p></td>
</tr>
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">Empresa:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<input TYPE="text" NAME="empresa" SIZE="33"></p></td>
</tr>
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">Email:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<input TYPE="text" NAME="email" SIZE="33" value="@"></p></td>
</tr>
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">Teléfono</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<input TYPE="text" NAME="telefono" SIZE="40"></p></td>
</tr>
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">Comentarios:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<textarea rows="2" name="comentarios" cols="56"></textarea></p></td>
</tr>
</table>
</center>
<p align="center"><input TYPE="submit" VALUE="ENVIAR"> <input TYPE="reset" VALUE="LIMPIAR">
</p>
</form>



En envio.php entre las etiquetas <body> y </body>

<?
/* aqui se incializan variables de PHP */
if (phpversion() >= "4.2.0") {
if ( ini_get('register_globals') != 1 ) {
$supers = array('_REQUEST',
'_ENV',
'_SERVER',
'_POST',
'_GET',
'_COOKIE',
'_SESSION',
'_FILES',
'_GLOBALS' );

foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
} else {
if ( ini_get('register_globals') != 1 ) {

$supers = array('HTTP_POST_VARS',
'HTTP_GET_VARS',
'HTTP_COOKIE_VARS',
'GLOBALS',
'HTTP_SESSION_VARS',
'HTTP_SERVER_VARS',
'HTTP_ENV_VARS'
);

foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
}

/* DE AQUI EN ADELANTE PUEDES EDITAR EL ARCHIVO */

if($email=="")
{
/* reclama si no se ha rellenado el campo email en el formulario */
echo "No ha puesto su dirección de correo electrónico";
exit();
}

/* aquí se especifica la pagina de respuesta en caso de envío exitoso */
$respuesta="respuesta.htm";
// la respuesta puede ser otro archivo, en incluso estar en otro servidor

/* AQUÍ ESPECIFICAS EL CORREO AL CUAL QUEREIS QUE SE ENVÍEN LOS DATOS
DEL FORMULARIO, SI QUIERES ENVIAR LOS DATOS A MÁS DE UN CORREO,
LOS PUEDES SEPARAR POR COMAS */
$para ="[correo eliminado]";

/* AQUI ESPECIFICAS EL SUJETO DEL EMAIL */
$sujeto = "Formulario";

/* aquí se construye el encabezado del correo*/
$encabezado = "From: $nombre <$email>";
$encabezado .= "\nReply-To: $email";
$encabezado .= "\nX-Mailer: PHP/" . phpversion();

/* con esto se captura la IP del que envío el mensaje */
$ip=$REMOTE_ADDR;

/* las siguientes líneas arman el mensaje */
$mensaje .= "NOMBRE = $nombre\n";
$mensaje .= "EMPRESA = $empresa\n";
$mensaje .= "EMAIL = $email\n";
$mensaje .= "TELÉFONO= $telefono\n";
$mensaje .= "COMENTARIOS = $comentarios\n";
$mensaje .= "TU DIRECCION IP = $ip\n";

/* aqui se intenta enviar el correo, si no se
tiene éxito se da un mensaje de error */
if(!mail($para, $sujeto, $mensaje, $encabezado))
{
echo "<h1>No se pudo enviar el Mensaje</h1>";
exit();
}
else
{
/* aqui redireccionamos a la pagina de respuesta */
echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>";
}

?>

--------------------------------------
Para la respuesta he creado otra página: respuesta.htm

Saludos, Lía.
Bueno ya veo que nadie encuentra el error de mi formulario, lo cual es normal porque no lo tiene.

Al final decidí hacer una consulta al servicio técnico del servidor que tengo contratado y ya me lo han aclarado: el servidor no acepta php.

Pues eso, que el formulario es correcto y si queréis utilizarlo primero tenéis que aseguraros de que vuestro servidor acepta php.

Yo he encontrado otra solución para no tener que contratar, ni pagar más: el formulario de Google Docs.


Funciona perfectamente es muy sencillo de configurar y una vez que lo tienes hecho sólo hay que poner un enlace en la web. ¡Es genial!

Saludos, Lía.