Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/07/2012, 13:51
vsaez
 
Fecha de Ingreso: julio-2012
Mensajes: 3
Antigüedad: 11 años, 9 meses
Puntos: 0
Alojar formulario HTML +PHP en servidor

Hola!
Totalmente neófito en esto, requiero vuestra ayuda. Expongo sintéticamente qué me pasa:
1) En una página, alojada en el servidor (no local, de pago) he insertado un formulario en HTML, sacado de internet.
2) En el servidor, por indicación de los gestores (la empresa) alojo el código php en la carpeta public_html (ahí me dicen que lo ponga). Esa carpeta, cuando la abro, es como si abriera la carpeta www, que es donde tengo todo el ontenido de la web metido.
3) Relleno el formulario y lo que me responde al 'enviar' es una página en la que se lee todo el código php, y, por supuesto, no envía el contenido a la dirección email insertada.

A continuación pongo los códigod HTML del formulario y el código php que debería ejecutarse. Son los siguientes:

FORMULARIO

<!--Título-->
<p><H2>Mi formulario HTML</H2></p>
<!--Formulario-->
<FORM id="contacto" name="contacto" action="enviar.php" method="POST">
<p>
<label>Nombre <input name="nombre" type="text" id="nombre"
size="42"/></label>
</p>
<p>
<label>Empresa
<input name="empresa" type="text" id="empresa" size="31"/></label></p>
<p><label>E-mail <input name="mail" type="text" id="mail" size="43"/>
</label>
</p>
<p><label>Mensaje<br>
<textarea name="mensaje" cols="40" rows="8" id="mensaje">
</textarea></label>
</p>
<p><input type="submit" name="Submit" value="Enviar"/></p>
</FORM>

PHP

<?php
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];

$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " .
$empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Asunto del mail recibido';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo 'Mensaje enviado correctamente';
?>

Yo he revisado ambos y, en mi ignorancia, me han parecido correctos. La empresa del servidor me dice que en Public_html es donde debe ir el php. Entonces... ¿qué pasa?
Algo hago mal, seguro...

Muchas gracias por la ayuda.
Víctor.