Foros del Web » Programando para Internet » PHP » Configuración PHP »

Problema en el envio de formulario con PHP

Estas en el tema de Problema en el envio de formulario con PHP en el foro de Configuración PHP en Foros del Web. Hola a todos, he visto que este tema esta ya en el foro, pero en ninguno he encontrado la solucion adecuada, ademas soy un novato ...
  #1 (permalink)  
Antiguo 10/06/2009, 04:37
vejin666
Invitado
 
Mensajes: n/a
Puntos:
Problema en el envio de formulario con PHP

Hola a todos, he visto que este tema esta ya en el foro, pero en ninguno he encontrado la solucion adecuada, ademas soy un novato total en esto de PHP.

Les comento mi problema.
He encontrado por la red un script de PHP que manda (supuestamente) un mail a una direccion de correo.

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Mándanos tus comentarios</title>
</head>

<body bgcolor="#cccc66" text="#003300" link="#006060" vlink="#006060">
<?
if (!$HTTP_POST_VARS){
?>
<form action="contacta.php" method=post>
Nombre: <input type=text name="nombre" size=16>
<br>
Email: <input type=text name=email size=16>
<br>
Comentarios: <textarea name=coment cols=32 rows=6></textarea>
<br>
<input type=submit value="Enviar">
</form>
<?
}else{
    
//Estoy recibiendo el formulario, compongo el cuerpo
    
$cuerpo "Formulario enviado\n";
    
$cuerpo .= "Nombre: " $HTTP_POST_VARS["nombre"] . "\n";
    
$cuerpo .= "Email: " $HTTP_POST_VARS["email"] . "\n";
    
$cuerpo .= "Comentarios: " $HTTP_POST_VARS["coment"] . "\n";

    
//mando el correo...
    
if (mail("nombre-arroba-server.com","Formulario recibido",$cuerpo))
           echo 
"Gracias por rellenar el formulario. Se ha enviado correctamente.";
    else
         echo 
"No se pudo enviar el correo"


    
//doy las gracias por el envío
   
}
?>
</body>
</html>
Como se puede observar el codigo PHP esta dentro del HTML.

Ejecuto la pagina en la pagina web que tengo en IESPANA, y me devuelve el mensaje de "Gracias por rellenar el formulario. Se ha enviado correctamente.", por lo que supongo que con el servidor no hay problemas, pero el mensaje no llega, y he probado con 3 cuentas de correo, Hotmail, Iespana y Novania.

A que puede ser devido? hago algo mal?
  #2 (permalink)  
Antiguo 10/06/2009, 06:02
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Problema en el envio de formulario con PHP

Es una pregunta tonta pero... mail("nombre-arroba-server.com", ...

Eso de nombre-arroba-server.com lo tendrás cambiado, no?
De ser así sabemos que IESPANA no soporta la función mail() y que además tiene los errores php deshabilitados.
Un saludo!
  #3 (permalink)  
Antiguo 10/06/2009, 06:46
vejin666
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Respuesta: Problema en el envio de formulario con PHP

Si, tengo puesta un correo electronico

Pues vaya con Iespana, ya me podia estar comiendo yo la cabeza...

Muchisimas gracias por la respuesta.
  #4 (permalink)  
Antiguo 19/06/2009, 11:23
vejin666
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema en el envio de formulario con PHP

Bueno, continuo con problemas, me tengo un dominio en Interdominios, y al hacer el formulario ahi me da un error bien gordo a la hora de mandarlo:

Cita:
Warning: mail() [function.mail]: SMTP server response: 501 Your domain does not seem to be valid. Could not find MX record for your domain. in C:\Inetpub\vhosts\mpazm.net\httpdocs\contacta2.php on line 29
No se pudo enviar el correo
Segun he leido por ahi, Interdominios tiene activada la funcion mail. Les he llamado y mandado un mail, pero de eso hace una semana.

Alguna idea?
  #5 (permalink)  
Antiguo 19/06/2009, 14:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Problema en el envio de formulario con PHP

El error viene en la configuración de tu dominio, la cual es incorrecta, revisa eso con tu hosting, desde PHP no puedes hacer mucho.

Saludos.
  #6 (permalink)  
Antiguo 24/06/2009, 12:47
vejin666
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema en el envio de formulario con PHP

Interdominios me ha contestado, y me dicen que el problema esta en mi codigo PHP, que necesito un remitente.

Código PHP:
<html>
<head>
    <title>Mándanos tus comentarios</title>
</head>

<body bgcolor="#cccc66" text="#003300" link="#006060" vlink="#006060">
<?
if (!$HTTP_POST_VARS){
?>
<form action="contacta2.php" method=post>
Nombre: <input type=text name="nombre" size=16>
<br>
Email: <input type=text name="email" size=16>
<br>
Comentarios: <textarea name="coment" cols=32 rows=6></textarea>
<br>
<input type=submit value="Enviar">
</form>
<?
}else{
    
//Estoy recibiendo el formulario, compongo el cuerpo
    
$cuerpo "Formulario enviado\n";
    
$cuerpo .= "Nombre: " $HTTP_POST_VARS["nombre"] . "\n";
    
$cuerpo .= "Email: " $HTTP_POST_VARS["email"] . "\n";
    
$cuerpo .= "Comentarios: " $HTTP_POST_VARS["coment"] . "\n";
    
$remite "From: "$HTTP_POST_VARS["email"] ."\n";


    
//mando el correo...
    
if (mail("nombre-arroba-dominio","Formulario recibido",$cuerpo$remite))
           echo 
"Gracias por rellenar el formulario. Se ha enviado correctamente.";
    else
         echo 
"No se pudo enviar el correo";


    
//doy las gracias por el envío
   
}
?>
</body>
</html>
Para el remite uso la linea de:
$remite = "From: ". $HTTP_POST_VARS["email"] ."\n";

Pero sigue dandome error a la hora de mandar el mail, en la linea de la funcion MAIL.

Veis algo mal en la sintaxis?
  #7 (permalink)  
Antiguo 24/06/2009, 12:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Problema en el envio de formulario con PHP

¿Que error te marca ahora?
  #8 (permalink)  
Antiguo 24/06/2009, 12:54
vejin666
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema en el envio de formulario con PHP

Warning: mail() [function.mail]: SMTP server response: 501 Your domain does not seem to be valid. Could not find MX record for your domain. in C:\Inetpub\vhosts\mpazm.net\httpdocs\contacta2.php on line 31
No se pudo enviar el correo
  #9 (permalink)  
Antiguo 25/06/2009, 08:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Problema en el envio de formulario con PHP

Ese no es problema del POST, si ves te dice que no encontraron los MX Records del dominio, y eso solo se puede configurar en el DNS del sitio, no puedes hacer nada desde PHP...
  #10 (permalink)  
Antiguo 29/06/2009, 10:25
vejin666
Invitado
 
Mensajes: n/a
Puntos:
Muchas gracias por la rapida respuesta, ya os ire contando mi lucha a brazo partido con Interdominios .

Buenas, ya estoy aqui de nuevo dando la brasa, Interdominios me ha vuelto a contestar que no es problema suyo, q la funcion MAIL de PHP la tienen activada y que ellos han probado una funcion PHP de envio de correo y funciona.
Asi que aseguran que el fallo esta en mi codigo....

Podriais echarle otro vistazo a ver si me falta algo? algun punto y coma o algo asi, que yo no lo veo.

Tambien agradeceria un link a alguna pagina con manual de PHP que hable sobre la funcion MAIL (el oficial no por favor, q es un horror xD) para ver que parametros puedo usar.

Muchisimas gracias

Vale, arreglado, culpa de mi codigo y de ellos al mismo tiempo, a mi codigo le faltaba algo y ellos me negaban una informacion vital:

ini_set('sendmail_from', 'correo-arroba-dominio');
ini_set('SMTP','localhost');

Sin esas dos lineas la funcion mail no encuentra el servidor de envio...

Ahora mismo no se si esque yo soy tonto o los de interdominios me han tomado el pelo...

Última edición por GatorV; 05/07/2009 a las 00:21
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:27.