No puedo enviar formulario por PHP

Resuelto/Cerrado
Carito - 18 sep 2008 a las 00:21
 Derly - 6 may 2020 a las 02:22
Hola,
Tengo problemas para enviar un formulario a través de PHP.
Tengo el archivo enviar.php con el siguiente código:
<?php
$usuario = $_POST['usuario'];
$mail = $_POST['mail'];
$mensaje = $_POST['mensaje'];

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

$descripcion = "Este mensaje fue enviado por " . $usuario . ", \r\n";
$descripcion .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$descripcion .= "Enviado el " . date('d/m/Y', time());

$para = 'cvasquez@vmasesores.com.co';
$asunto = 'Contacto desde el Sitio de Marco de Trabajo de la VTI';

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

echo 'Mensaje enviado correctamente';

?>



y en HTML en la línea del formulario tengo la siguiente línea qe llama a enviar.php:
<form action="enviar.php" method="post" enctype="text/plain" name="form1" id="form1">

Cuando ejecuto la pagina html , al oprimir el botón Enviar que puse en el formulario me abre el archivo enviar.php y no me envía los datos del formulario.

Cuál puede ser el problema?
Gracias por la colaboración.

54 respuestas

Gracias tucuta, no he probado el el código que has publicado, pero creo que en este sitio, esta tendría que ser la forma de funcionar y no pidiendo dinero. Gracias de nuevo
0
Claro que sí mixote, estamos de acuerdo en eso, porque poner que "yo se los envío" y ni siquiera decir que cuesta algo, no tiene que ser así... espero les sirva a todos y como les dije si en algo les puedo ayudar con mucho gusto les ayudo de GRATIS...
0
fede > tucuta
17 dic 2008 a las 05:36
Hola tucuta.
Hice lo que tu dijiste y cree dos archivos, el index.html y el enviar.php .... a los dos le agregue obviamente la parte de <html><header> etc..... los subi a mi pagina que es un servidos gratis (webcindario.com) y me la abre sin ningun problema. La cosa es que no me llega el mail.
He usado otros formularios y con ninguno me funciona, nose porque puede ser, sera un problema del servidor?

Tambien tengo instalado apache y esas cosas y al entrar por http://localhost/index.html despues me da como resultado...

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\AppServ\www\enviar\enviar.php on line 27

Por favor ayudame, mi mail es: fedetrans [a] hotmail.com

Muchas gracias
0
tucuta > fede
17 dic 2008 a las 16:07
En primer lugar en local host no puedes mandar mensajes porque los servidores de prueba no traen activado la funcion mail.

Si no tellegan los mensajes recuerda que tienes que llamar al acrchivo que se encarga de procesar y enviar el mail, se llama desde el formulario de contacto en

<form action="enviar.php">

Recuerda actualizar la dirección de donde se encuentra el archivo porque si no nunca te van a llegar los mensajes.

Si no puedes te puedo hacer llegar los archivos a tu correo, GRATIS, solo posteame tu correo y listo.

Espero te sirva.

CHAO
0
fede > tucuta
17 dic 2008 a las 21:58
Por favor mandamelos al correo por que no me funciona. Ademas es el que publicaste tu, en el que ya venia
<form id="contacto" name="contacto" method="post" action="enviar/enviar.php">

te doi mi correo

fedetrans [@] hotmail.com (le puse lo [ ] por el spam

Muchas gracias
0
juan > tucuta
22 dic 2008 a las 19:11
cual es tu correo
0
hola sabes si ahy problemas en hotmail de enviar corros porque no hay maneras hoy de que me funsione gracias
0
Muchas gracias! Funciona perfecto!
0
hola tucuta me gustaria me ayudaras a usar el codigo que publicaste necesito que los comentarios de una pagina informativa hecha en html me lleguen a mi correo en dianbeth@gamail.com pues es que no se casi de php y no se si tu codigo me funcione para una pagina exclusivamente informativa ojala me respondas pronto

gracias
0
Bueno beth, ya te envié los archivos al correo que dejaste, espero te sirva y sigue las instrucciones para que funcione.

Espero te sirva, un saludo y suerte...
0

¿No encontraste la respuesta que buscabas?

Haz una pregunta
Muchas gracias tucuta por tu pronto respuesta
0
hola
tucuta soy yo otra ves gracias por la respuesta pero al parecer escribi mal mi correo y no me llego tu correo a mi correo es cual dianbeth@gmail.com ojala puedas mandarmelo de nuevo bueno muchas gracias hasta luego.
0
Muchas gracias, me sirvio bastante el formulario.

Lo unico que me gustaria que en vez de pasar a otra hoja, solo muestre un mensaje...

Saludos
0
Carito, ponle las siguientes líneas al inicio de tu código:

ini_set('SMTP',"165.190.14.42");
ini_set('smtp_port','25');

... los dígitos "165.190.14.42" son por el servidor por donde saldrá tu correo, en este caso sería el servidor donde tienes alojada tu cuenta.

espero te sirva de algo, a mí me funciona a la perfección, esos números son ficticios, pon los tuyos, los reales a tu código
0
ESTA INFORMACION LA GRABAS EN EL ARCHIVO formulario.php

<body >

<form name='formulario' id='formulario' method='post' action='enviar.php' target='_self' enctype="multipart/form-data">
<p> </p>
<p align="center" class="style1">FAVOR DE PONER SUS DATOS COMPLETOS PARA RESPONDER ALGUNA PREGUNTA </p>
<p align="center"> </p>
<p> </p>
<table width="762" align="center">
<tr>
<td width="69"><div align="right"><em><strong>Nombre</strong></em></div></td>
<td width="148"><input name='Nombre' type='text' id='Nombre' maxlength="30" /></td>
<td width="85"><div align="right"><strong><em>E-mail</em></strong></div></td>
<td width="186"><input name='email' type='text' id='email' maxlength="40" /></td>
<td width="56"><div align="right"><em><strong>Asunto</strong></em></div></td>
<td width="190"><input name='asunto' type='text' id='asunto' maxlength="20" /></td>
</tr>
</table>
<p> </p>
<table width="761" height="73" align="center">
<tr>
<td width="205"><div align="right"><strong><em>Adjuntar archivo:</em></strong></div></td>
<td width="229"><input type='file' name='archivo1' id='archivo1' /></td>
<td width="54"><div align="right"><strong><em>Mensaje</em></strong></div></td>
<td width="197"><textarea name="mensaje" cols="30" rows="2" id="mensaje"></textarea></td>
<td width="52"><input type='submit' value='Enviar' /></td>
</tr>
</table>
<p> </p>
<p align="center"> </p>
</form>


</body>
LOS CAMPOS DEL FORMULARIO LOS PUEDES CAMBIAR OJO CAMBIA TAMBIEN LOS NOMBRES EN EL ARCHIVO

Y ESTA OTRA EN EL ARCHIVO enviar.php



<body>
<p>
<?php
function form_mail($sPara, $sAsunto, $sTexto, $sDe)
{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";

if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;

foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";

$sCabeceraTexto = "----_Separador-de-mensajes_--\n";
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";

$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";

$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}

if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}

//cambiar aqui el email
if (form_mail("AQUI PONES TU MAIL O EL MAIL A DONDE LO QUIERAS ENVIAR", $_POST[asunto],
"Los datos introducidos en el formulario son:\n\n", $_POST[email]))

?>
</p>
<p align="center"><em><strong><span class="Estilo1">GRACIAS POR ENVIAR SUS COMENTARIOS</span></strong></em></p>
<p align="center"><a href="index.html" target="_parent">REGRESAR A LA PAGINA PRINCIPAL</a></p>
</body>
0
hola, porfa mandame los datos a:
davidpsilis@hotmail.com


gracias...
0
romii015 Mensajes enviados 3 Fecha de inscripción jueves, 5 de febrero de 2009 Estatus Miembro Última intervención jueves, 5 de febrero de 2009
5 feb 2009 a las 19:24
http://es.ccm.net/forum/affich 97685 msn
entren i ayudenmee , porfavorr :S
0
newmix Mensajes enviados 16 Fecha de inscripción lunes, 16 de marzo de 2009 Estatus Miembro Última intervención sábado, 5 de septiembre de 2009 19
16 mar 2009 a las 23:08
deberia de funcionarte, yo elaboro un formulario, los dos son extension php, el primero contiene el formulario de la sig manera:

Bienvenido a esta pagina la hora actual es:<b>
<?PHP
include ("pag2.php");
?>
<br><br>
<form name="formulario" method="post" action="">
<span class="Estilo3">Nombre</span> <input type="text" name="nombre" size="20" maxlength="20">


como puedes ver: en include incluyo la libreria de mis funciones php que validan cada textfield del formulario el action="" para que regrese a la misma pag del formulario. si los datos son incorrectos en la misma pag del formulario imprimo los errores, estas usando XAMPP??
0
lo que pasa es que a los que tienen ese tipo de error, deben de usar el XAMPP, he instalarlo con apache para que puedan ver sus paginas en su equipo personal, ademas, este es un foro de ayuda, no esta mal cobrar por lo que se sabe, pero yo solo quiero ayudar y sin cobrar, ya que =mente yo podria necesitar ayuda de alguien mas. hise un formulario de lo mas sencillo, pero por falta de tiempo no lo he hecho mejor, instalate el xampp asi no tendras ese tipo de error.
0
samgamju Mensajes enviados 1 Fecha de inscripción lunes, 6 de julio de 2009 Estatus Miembro Última intervención lunes, 6 de julio de 2009
6 jul 2009 a las 10:13
Tucuta: Mi cuenta MSN es jasamame@hotmail.com
Gracias

JULIO
0
hola buenas noches
tengo un problema para crear ye enviar un formulario de contacto muy basico
nombre telefono e-mail

pero siempre me sale algun error..
0
newmix Mensajes enviados 16 Fecha de inscripción lunes, 16 de marzo de 2009 Estatus Miembro Última intervención sábado, 5 de septiembre de 2009 19
12 jul 2009 a las 21:58
ya cierren este hilo, hombre.
0
Esperemos que nunca necesites de nadie y cuando le necesites el foro esté cerrado o nadie te responda.

LO QUE DE GRACIAS RECIBE DE GRACIAS SE DA

Nadie nace aprendido.
0
me puedes mandar el correo de los archivos los necesito urgen mi correo es luismessi1912@hotmail.com
0
Estimados y estimadas

Yo tenía un problema similar, ya que mi archivo php, me enviaba el correo, pero iba con el cuerpo de texto vacío, sin las variables y las constantes.

Copio a ustedes la ayuda generosa y desinteresada del compa Oscar para resolver este problema, yo no hago más que devolver la mano a aquellos que lo necesiten.

saludos fraternos
Makarenko



Peguen esto en su archivo html:



<form action="/send.php" method="post" id="contacto" onsubmit="MM_validateForm('nombre','','R','cargo','','R','empresa','','R','Fono','','RisNum','email','','RisEmail');return document.MM_returnValue">
<table width="498" border="0">
<tr>
<td width="114"><label>Nombre Completo: </label></td>
<td width="374"><input name="nombre" type="text" id="nombre" size="50" maxlength="50" /></td>
</tr>
<tr>
<td>Empresa:</td>
<td><input name="empresa" type="text" id="empresa" size="50" maxlength="30" /></td>
</tr>
<tr>
<td>Cargo:</td>
<td><input name="cargo" type="text" id="cargo" size="50" maxlength="50" /></td>
</tr>
<tr>
<td>Teléfono:</td>
<td><input name="Fono" type="text" id="Fono" size="50" maxlength="50" /></td>
</tr>
<tr>
<td>Email:</td>
<td><input name="email" type="text" id="email" size="50" maxlength="50" /></td>
</tr>
<tr>
<td valign="top">Comentarios:</td>
<td><textarea name="comentario" cols="50" rows="6" wrap="physical" id="comentario"></textarea></td>
</tr>
</table>
<p>
<label>
<input type="submit" name="Enviar" id="Enviar" value=" Enviar " />
</label>
<input type="reset" name="Limpiar" id="Limpiar" value=" Limpiar " />
</p>
<label></label>
</form>




Luego hagan un archivo php con el siguiente código:

<?php
$nombre = $_POST['nombre'];
$empresa = $_POST['empresa'];
$cargo = $_POST['cargo'];
$Fono = $_POST['Fono'];
$email = $_POST['email'];
$comentario = $_POST['comentario'];

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

$mensaje = "

Esta es la Información de Mi Sitio Web:

El nombre: ".$nombre."

Nombre de la Empresa: ".$empresa."

Cargo: ".$cargo."

Telefono: ".$Fono."

Email: ".$email."

Comentario de ".$nombre.": ".$email."


";


$para = "EMAIL DE DESTINO DEL FOMULARIO";
$asunto = 'Mensaje desde sitio WEB';


mail($para, $asunto, $mensaje, "From: ".$nombre);

?>



Espero les sirva

un abrazo fraterno
M.G.
0
newmix Mensajes enviados 16 Fecha de inscripción lunes, 16 de marzo de 2009 Estatus Miembro Última intervención sábado, 5 de septiembre de 2009 19
5 sep 2009 a las 19:38
que sentidos,
0
PRUEBA E CONSULTADO
0