Foros del Web » Programando para Internet » PHP »

Envio de Datos por Formulario (PHP)

Estas en el tema de Envio de Datos por Formulario (PHP) en el foro de PHP en Foros del Web. Buenas, en mi sitio puse un formulario de contacto y cree un archivo php para que me envie a un mail los datos de quien ...
  #1 (permalink)  
Antiguo 03/07/2008, 19:27
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Envio de Datos por Formulario (PHP)

Buenas, en mi sitio puse un formulario de contacto y cree un archivo php para que me envie a un mail los datos de quien lo completa. Pero cuando pasa esto, al presionar Enviar formulario me sale:
Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in I:\FerozoWebHosting\sintesar.com\public_html\pages \enviar.php on line 19
El formulario está en http://www.sintesar.com/pages/contacto.html y el archivo php que uso es enviar.php y dice lo siguiente:
<?php

$mail='[email protected]';


$nombre = $_POST['nombre'];
$telefono = $_POST['telefono'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];
$consulta = $_POST['consulta'];

$thank="gracias.html";

$message = "
nombre:".$nombre."
telefono:".$telefono."
mail:".$mail."
empresa:".$empresa."
consulta:".$consulta."";

if (mail($mail,"Formulario de Consulta",$message))
Header ("Location: $thank");

?>

Espero me puedan ayudar!!!
Muchas Gracias!
  #2 (permalink)  
Antiguo 03/07/2008, 21:46
Avatar de dackiller  
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: Envio de Datos por Formulario (PHP)

Por lo que veo, estas en un hosting compartido... Mi sugerencia es que uses la clase phpmailer. Creo que ese error se debe a que algunas funciones estan restringidas esto lo hacen muchos hosting compartido para evitar el spam...

Si usas PHPmailer trabaja directamente con el SMTP del servidor, probablemente tendras que autentificarte para realizar el envio...

Lee los ejemplos de PHPmailer y consulta con tu proveedor de hosting sobre que debes usar para el envio de emails.

Suerte
__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.
  #3 (permalink)  
Antiguo 05/07/2008, 14:32
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Envio de Datos por Formulario (PHP)

Antes que nada gracias por la respuesta.
Hablé con la gente del hosting que pago por mi sitio y esta fue la respuesta:
"....Esto sucede porque la función mail() de PHP, presenta incompatibilidad con la
plataforma Windows. Por esto, si Usted está utilizando dicha función en su
formulario de contacto, antes de utilizar la funcion mail(),
deberá insertar la siguiente línea:

ini_set(sendmail_from,'[email protected]');

Teniendo en cuenta que [email protected] es un correo ficticio que deberá
reemplazar por una cuenta existente creada desde su panel de control...."


Hice esto y si bien el error no aparece más, cuando hago click en Enviar Formulario aparece la pantalla de que los datos han sido enviado y el mail nunca me llega.

No sí si modífiqué bien o no mi archivo php. Acá como está en la actualidad:
<?php

ini_set(sendmail_from,'mail_que_envia_los_datos@se rvidor.com');

$mail='el_mail_dopnde_quiero_recibir_losdatos@serv idor.com';

$nombre = $_POST['nombre'];
$telefono = $_POST['telefono'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];
$consulta = $_POST['consulta'];

$thank="gracias.html";

$message = "
nombre:".$nombre."
telefono:".$telefono."
mail:".$mail."
empresa:".$empresa."
consulta:".$consulta."";

if (mail($mail,"Formulario de Consulta",$message))
Header ("Location: $thank");

?>


Ubiqué el ini_set(sendmail_from,'[email protected]'); mal?. Sabrían decirme que me falta.

Mychas gracias nuevamente!!
  #4 (permalink)  
Antiguo 05/07/2008, 17:12
 
Fecha de Ingreso: julio-2008
Mensajes: 5
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Envio de Datos por Formulario (PHP)

Una sugerencia. Por que en vez de enviarte un mail sencillamente te creas una tabla de contacto en tu base de datos y guardas ahi todos esos datos, la persona que se esta registrando se van a ir guardando en la tabla la que luego puedes entrar a revisar e ir depurando los que fueron registrados por pura joda.
Yo llegue a esto por que en la empresa sencillamente me pidieron estadisticas (personas que requirieron contacto en determiados dias, etc).
Espero haberte ayudado
  #5 (permalink)  
Antiguo 06/07/2008, 17:39
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Envio de Datos por Formulario (PHP)

Toda respuesta ayuda. Lo que decís me vendría bien, pero no sé cómo hacerlo.
Es decir, lo del mail lo quiero hacer porque no conozco otra manera de que me queden los datos registrados de quien se contacta.

Lo que me decís suena bien pero no se como llevarlo adelante.

Alguna sugerencia?
Gracias y Saludos!
  #6 (permalink)  
Antiguo 09/07/2008, 19:55
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Envio de Datos por Formulario (PHP)

Hola... estuve mirando el post y me pasa algo parecido. Utilicí la rwespuesta y si bien logré que funcionara, solo me llega el mail vacio, sin los datos del dormulario.

Acá les copio mi php pàra ver si puede ayudarme:

ini_set(sendmail_from,'[email protected]');


$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: \"Formulario XXXXX\" [email protected]";
$asunto= "Formulario de Consulta";

$nombre = $_POST['nombre'];
$telefono = $_POST['telefono'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];
$consulta = $_POST['consulta'];

$message = "
nombre:".$nombre."
telefono:".$telefono."
mail:".$mail."
empresa:".$empresa."
consulta:".$consulta."";

mail([email protected], $asunto, $msg, $headers);

$thank="gracias.html";

if (mail($mail,"Formulario de Consulta",$message, "from".$email."\r\n"));
Header ("Location: $thank");

?>


Es decir, Cuando completan los datos del formulario del sitio llega el mail pero vacio. No me indica que pusieron en cada campo... que estopy haciendo mal??? GRACIAS!
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 22:21.