No puedo enviar formulario por PHP [Resuelto/Cerrado]

Denunciar
-
 zonng -
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

intenta esto.
<?php


<?php
$usuario = $_POST['usuario'];
$mail = $_POST['mail'];
$mensaje = $_POST['mensaje'];


//ESTRUCTURA DEL MAIL

$destinatario = "ejemplo@gmail.com";
$asunto = "tu asunto";

$cuerpo ="<html><head></head><body>";
$cuerpo.="<center>".$mensaje."</center>";

$cuerpo.="</body></html>";





$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$header .= 'From: ' . $mail . " \r\n";





if (mail($destinatario,$asunto,utf8_decode($cuerpo),$headers)){

echo "<br><CENTER><H2>SU MENSAJE SE HA ENVIADO CON EXITO<H2><CENTER>";
}else{

echo"<br>ERROR AL ENVIAR EL MENSAJE INTENTELO NUEVAMENTE";

}


?>

y recuerda configurar la funcion mail() en el php.ini y en smtp colocas el smtp de tu isp
PRUEBA DEENVIO
TENGO PROBLEMAS EN PASAR LOS FORMULARIOS DE HTML a PHP y enviarlos
Como pasarlos a PhP
prueba con estos y los estoy usando tal cual y me funciona

<?php


$nombr=$_POST['nombp'];
$empres=$_POST['epres'];
$correoe=$_POST['mailpres'];
$tlf=$_POST['tlfpres'];
$tipoint=$_POST['interpres'];
$durac=$_POST['durpres'];
$estev=$_POST['estev'];
$lugev=$_POST['lugpres'];
$idiomf=$_POST['idfpres'];
$comentev=$_POST['comentpres'];
$locac=$_POST['estpres'];
$idiomd=$_POST['iddpres'];
$noasis=$_POST['asispres'];
$fechap=$_POST['fechapre'];
$rifp=$_POST['rifpre'];



$destinatario = "xxxxxx@hotmail.com";
$asunto = "Nueva solicitud de presupuesto de serv. de interp. de idiomas";
$cuerpo ="<html><head><body><center><font color=black><h2><b>PRESUPUESTO DE SERVICIO DE INTERPRETACION DE IDIOMAS</b><h2></font><br></center><center><table border=\"2\"><tr><td colspan=6 align=center><B>DATOS DEL SERVICIO DE INTERPRETACION</B></td></tr>";
$cuerpo.="<tr><td><B>NOMBRE:</B></td><td>".$nombr."</td><td><B>EMPRESA:<B></td><td>".$empres."</td><td><B>RIF:<B></td><td>".$rifp."</td></tr> ";
$cuerpo.= "<tr><td><B>TELEFONO:<B></td><td>".$tlf."</td><td><B>TIPO DE INTERPRETACION:</B></td><td>".$tipoint."</td><td><B>DURACION:<B></td><td>".$durac."</td></tr>";
$cuerpo.= "<tr><td><B>IDIOMA FUENTE:<B></td><td>".$idiomf."</td><td><B>IDIOMA DESTINO:<B></td><td>".$idiomd."</td><td><B>LUGAR DEL EVENTO:<B></td><td>".$lugev."</td></tr>";
$cuerpo.= "<tr><td><B>FECHA:<B></td><td>".$fechap."</td><td><B>NRO DE ASISTENTES:<B></td><td>".$noasis."</td><td><B>CORREO ELECTRONICO:<B></td><td>".$correoe."</td></tr>";


$cuerpo.="<center><table border=0><BR><BR><tr><td align=center><b>COMENTARIOS:</b></td></tr><tr><td align=center> </td></tr>";
$cuerpo.="<tr><td align=center>".$comentev."</td></tr></table></center>";




$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";





if (mail($destinatario,$asunto,utf8_decode($cuerpo),$headers)){

echo "<br><CENTER><H2>SU MENSAJE SE HA ENVIADO CON EXITO NUESTRO DEPARTAMENTO ADMINISTRATIVO SE COMUNICARA CON UD LO MAS PRONTO POSIBLE. GRACIAS POR CONTACTARNOS<H2><CENTER>";
}else{

echo"<br>ERROR AL ENVIAR EL MENSAJE INTENTELO NUEVAMENTE";

}


?>
Gracias Usuario yanis_caspue... me ayudó como no tienes idea el ejemplo que tienes sobre formulario con php y envio de datos, para ser novato me sirvió bastante xq necesitaba como comenzar... ahora puedo seguir adelante con los conocimientos adquiridos... Gracias de veras...
Hola muchisimas gracias ya me funciona gracias a usd.
Muchisimas gracis ahora si me funciona
<?php


$nombr=$_POST['nombp'];
$empres=$_POST['epres'];
$correoe=$_POST['mailpres'];
$tlf=$_POST['tlfpres'];
$tipoint=$_POST['interpres'];
$durac=$_POST['durpres'];
$estev=$_POST['estev'];
$lugev=$_POST['lugpres'];
$idiomf=$_POST['idfpres'];
$comentev=$_POST['comentpres'];
$locac=$_POST['estpres'];
$idiomd=$_POST['iddpres'];
$noasis=$_POST['asispres'];
$fechap=$_POST['fechapre'];
$rifp=$_POST['rifpre'];



$destinatario = "xxxxxx@hotmail.com";<- esta es la direccion de correo a la que llegara el mail
$asunto = "Nueva solicitud de presupuesto de serv. de interp. de idiomas";
$cuerpo ="<html><head><body><center><font color=black><h2><b>PRESUPUESTO DE SERVICIO DE INTERPRETACION DE IDIOMAS</b><h2></font><br></center><center><table border=\"2\"><tr><td colspan=6 align=center><B>DATOS DEL SERVICIO DE INTERPRETACION</B></td></tr>";
$cuerpo.="<tr><td><B>NOMBRE:</B></td><td>".$nombr."</td><td><B>EMPRESA:<B></td><td>".$empres."</td><td><B>RIF:<B></td><td>".$rifp."</td></tr> ";
$cuerpo.= "<tr><td><B>TELEFONO:<B></td><td>".$tlf."</td><td><B>TIPO DE INTERPRETACION:</B></td><td>".$tipoint."</td><td><B>DURACION:<B></td><td>".$durac."</td></tr>";
$cuerpo.= "<tr><td><B>IDIOMA FUENTE:<B></td><td>".$idiomf."</td><td><B>IDIOMA DESTINO:<B></td><td>".$idiomd."</td><td><B>LUGAR DEL EVENTO:<B></td><td>".$lugev."</td></tr>";
$cuerpo.= "<tr><td><B>FECHA:<B></td><td>".$fechap."</td><td><B>NRO DE ASISTENTES:<B></td><td>".$noasis."</td><td><B>CORREO ELECTRONICO:<B></td><td>".$correoe."</td></tr>";


$cuerpo.="<center><table border=0><BR><BR><tr><td align=center><b>COMENTARIOS:</b></td></tr><tr><td align=center> </td></tr>";
$cuerpo.="<tr><td align=center>".$comentev."</td></tr></table></center>";




$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "from:$emails\r\n";<- este es el correo desde el cual se envia el correo, el cual se toma del formulario




if (mail($destinatario,$asunto,utf8_decode($cuerpo),$headers)){

echo "<br><CENTER><H2>SU MENSAJE SE HA ENVIADO CON EXITO NUESTRO DEPARTAMENTO ADMINISTRATIVO SE COMUNICARA CON UD LO MAS PRONTO POSIBLE. GRACIAS POR CONTACTARNOS<H2><CENTER>";
}else{

echo"<br>ERROR AL ENVIAR EL MENSAJE INTENTELO NUEVAMENTE";

}


?>
recuerda que tienes que tener bien configurado el php.ini con el servidor SMTP de tu ISP

buenas, una pregunta hipersencillita de perogrullo aprovechando que el post sigue abierto y actualizandose, ahí va.

el formulario de envio y el del servidor deben ser ambos extension .php?, es que estoy probando los codigos que están poniendo pero me da error, yo monte un form xhtml de los mas normalito con dos campos, nombre y comentario, para probar, pero el xhtml está como en el index.html (es una única página con mis divagaciones cinefilas), entonces no se si eso es relevante o no.
Luego la respuesta del servidor se supone que la tiene que enviar al webmaster a un mail o algo para avisarle, no? es que use un codigo con mail y no lo aceptó por temas de seguridad.

Y una ultima cosa, si yo quiero usar una base de datos junto al form, le tendré que decir como se llama mi base de datos en el código php del servidor o del cliente? De todas formas esto es un poco secundario de momento.

Seguiré probando códigos a ver.

Gracias.
tengo un problema, hace 5 horas andaba y ahorita ya no!! reenviaba los correos desde ferozo a una cuenta de hotmail, pero en este momento no llega nada y marca error e intentar mas tarde.
Porqué sera? es un problema mío o del servidor?

Saludos
Si tengo el siguiente formulario.
Si tengo el siguiente formulario.

<HTML>
<HTML>
dime tu cuenta de correo.
Francisco, esta bueno que cobres por tu trabajo, desde ya.

Pero esta muy mal que no lo hayas aclarado desde un principio, asi el que no cuenta con el dinero no pierde tiempo en escribirte y mandarte su direccion de email. para que le mandes el codigo "secreto" del envio de formularios a traves de php.

Francisco, trata de ser mejor persona, asi no es el camino.

Un saludo
1 2 3