Jump to content

Enviar formularios desde la Web


Homeros
 Share

Recommended Posts

Para la sala de operaciones… He creado un archivo llamado Testmacuarium.html, pegado el código y cambiado sólo la dirección de envío, y lo he incluido en la carpeta WEB (Sites), porque tengo configurado el Apache para que sea ésta la del servidor, de hecho lee todo lo que meto en ella sin problemas…; menos esta página :unsure: Diagnóstico, por favor…, que los síntomas son éstos:

Not Found

 

The requested URL /~XXX (es mi carpeta WEB)/< was not found on this server.

 

Muchísimas gracias.

Link to comment
Share on other sites

¡Ostras! Yo que pensaba que estaba en proceso terminal, y con sólo una aspirina se ha repuesto!!! Llegó bien el correo, completito de datos, Quim. Por cierto me gusta mucho tu frase de Voltaire. Dejo esta cervantina por si a alguien, además de a mí, le dice algo:

 

:blush: Miróse a los pies de su ignorancia y deshizo la rueda de su vanidad y locura.

 

 

Y cómo sigue ahora el asunto de mi formulario…?

Link to comment
Share on other sites

Aunque veo que ya te funciona de otra forma, comento el problema que veo para que quede en los anales, futuros casos, etc. ;) En los campos de un formulario o se usa id (perfectamente válido y necesario si usas label) o se usa name, pero yo he tenido otras veces problemas con formularios en los que he puesto los dos en un campo. Supongo que son "características" de los navegadores, o de PHP, pero el tema es que da problemas.

 

De paso te explico el problema que tienes en els siguiente script: con las líneas if (isset... le estás diciendo al script "si $_POST['loquesea'] viene como no definido no hagas nada con la variable $loquesea", así que lo que has hecho es gestionar el error y ponérselo a lomos de $loquesea... Como $loquesea no tiene ningún valor inicial (todas las variables deben tener un valor) el programa da un error. Otro más, si te fijas los datos del formulario del campo Comentarios sí que llegan los datos (por eso no da error) y es el único campo que sólo tiene el atributo Id.

 

El código actual de PHP lo he modificado tantas veces que ya no sé por dónde voy. Con el if(isset…) he conseguido eliminar el error Undefined index, pero ahora a partir de la línea 21 sale Undefined variable en todas las palabras que ves subrayadas. Observa que no se aplica a $comentarios (l. 23), ni tampoco al $message del último echo (l. 24):

<?php

if (isset($_POST['nombre']))

$nombre = $_POST['nombre'];

if (isset($_POST['direccion']))

$direccion = $_POST['direccion'];

if (isset($_POST['telefono']))

$telefono = $_POST['telefono'];

if (isset($_POST['email']))

$email = $_POST['email'];

if (isset($_POST['asunto']))

$asunto = $_POST['asunto'];

if (isset($_POST['comentarios']))

$comentarios = $_POST['comentarios'];

 

$to = "XXXX@telefonica.net";

LINEA 21 $subject = ($asunto). "\n";

echo "El asunto es $asunto";

$message = ($nombre). "\n"; ($direccion). "\n"; ($telefono). "\n"; ($email). "\n"; ($comentarios);

echo "Los datos del mensaje son $message";

 

$header = "From: XXXX<ZZZZZ@localhost.com>" . "r\n";

$header .= "MIME-Version: 1.0" . "r\n";

$header .= "Content-type: text/plain; charset=iso-8859-1";

 

mail($to,$subject,$message, "From: XXXX<ZZZZZ@localhost.com>");

?>

Link to comment
Share on other sites

Todo el contenido que se recibe en un script debe ser filtrado. Asegúrate que no incluye nada que sea peligroso para tu sistema o para que abusen del formulario para enviar spam. Hoy se están utilizando todos los formularios públicos que llevan algún tiempo en la red para intentar enviar Spam. Y si eso pasase con el tuyo te bloquearían la IP y/o el dominio y no podrías enviar o recibir ningún tipo de correo.

 

Por cierto. Admiro tu empeño, pero 15 días para poner en marcha un formulario para una web familiar parece muy, muy mal negocio.

 

Ese trabajo que has hecho le lleva menos de 10 minutos a alguien que conozca el tema. El truco no está en buscar webs o soluciones gratuitas sino en contrata a la persona adecuada. Incluso si te apetece mucho aprender PHP, hacer un curso o contratar a alguien que te enseñe.

 

Suerte

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.