No puedo enviar formulario por PHP [Resuelto/Cerrado]

- - Última respuesta:  zonng - 30 nov 2010 a las 06:14
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.
Ver más 

20/54 respuestas

Mejor respuesta
36
Gracias
Bueno mi gente, me supongo que están esperando que alguien les ayude. Les cuento que después de buscar por muchos sitios y de probar todos los formularios que me encontré, opté por usar éste. Les explico como se hace:


PRIMERO: Se crea un archivo html que lo pueden llamar como ustedes quieran con el siguiente código dentro... Perfectamente pueden arreglar la página con lo que quieran meterle, por supuesto a su gusto...



<form id="contacto" name="contacto" method="post" action="enviar/enviar.php">
<p align="left">
<label><strong>Nombre: </strong>
<input name="nombre" type="text" id="nombre" size="35"/>
</label>
</p>
<p align="left">
<label><strong>Empresa:</strong>
<input name="empresa" type="text" id="empresa" size="35"/>
</label>
</p>
<p align="left">
<label><strong> E-mail: </strong>
<input name="mail" type="text" id="mail" size="35"/>
</label>
</p>
<p align="left">
<label><strong>Mensaje:</strong><br />

<textarea name="mensaje" cols="40" rows="8" id="mensaje" ></textarea>
</label>
</p>
<p align="left">
<input type="submit" name="submit" value="Enviar" />
<label>
<input type="reset" name="Borrar" id="Borrar" value="Restablecer" />
</label>
</p>
</form>



Como pueden ver en el inicio del código pueden ver que hace referencia a un archivo .PHP que es el que vamos a crear y lo vamos a llamar enviar.php y va a estar dentro de una carpeta llamada enviar que a su vez va a estar en la carpeta del sitio.

Textualmente dice:
action="enviar/enviar.php"






SEGUNDO: Ahora se crea un archivo .PHP que al igual que el del html se puede editar la parte visual referente al archivo e insertan el siguiente código:



<?php
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];

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

$mensaje = "Este mensaje fue enviado por... " . $nombre . ", de la empresa " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Fue enviado... " . date('d/m/Y', time());

$para = "TU EMAIL";
$asunto = 'ASUNTO DEL MENSAJE';


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


?>
</h2>
<h2 align="center">Gracias!</h2>

<p align="center">Tu mensaje ha sido enviado correctamente, pronto nos pondremos en contacto con usted.</p>
<p align="center"> </p>
<p><span style="color:red;font-size:150%;font-weight:bold;"><?php print $email; ?></span></p>

<p align="center">Si no es correcto,

<script type='text/javascript'>

document.write('<a href="javascript:history.go(-1);">vuelve atras</a>');

</script>

<noscript>vuelve atras</noscript> y envialo de nuevo</p>

<script type='text/javascript'>

document.write('<p class="details"><a href="javascript:history.go(-2);">Volver a la página de inicio.</a></p>');

</script>

<script type='text/javascript'>

setTimeout('history.go(-2)', 9000);

</script>

<noscript>

<p align="center" class="details">Pulsa el boton "atras" en tu navegador para volver a la página anterior.</p>

</noscript>




Bueno, eso es todo. Si tienen algún problema con MUCHO GUSTO LES AYUDO Y GRATIS, DE VERDAD GRATIS, solamente me dejan un mensaje en el foro y con mucho gusto les ayudo

Deja un "Gracias" 36

Unas palabras de agradecimiento nunca están de más. Deja tu comentario

CCM 29068 usuarios nos han dicho gracias este mes

juancruz83
Publicaciones
2
Fecha de inscripción
domingo, 23 de mayo de 2010
Estatus
Miembro
Última intervención
domingo, 23 de mayo de 2010
-
Hola,

tengo un problema copie el formulario y el php tal cual como esta en esta pagina.
pero me salta este error :


Warning: mail() [function.mail]: SMTP server response: 550 Sender address must be specified. in \\hmfsw\web\dtcwin012\silcearomaterapia.com.ar\public_html\enviar\enviar.php on line 20


la pagina es http://silcearomaterapia.com.ar

el programa que estoy usando es el dreamweaver
desde ya muchas gracias

Configuración: Windows XP / Safari 532.5
Hola.. que tal... mi problema esque... pruebo el el formulario en una pagina que ya tengo colgara en la red... me dice que el correo ha sido enviado.. y todo.. asi normal.. pero... la cosa esque.. no llega nada.... checo la bandeja de entrada del correo.. y nada..

una cosa curiosa esque... ese mismo codigo.. si funcionaba hace un año mas o menos... pero ahora que lo quise volver a usar... ya no...
Buenas fijate que copie el codigo tal y como esta ahi pero al momento de pulsar enviar me tira una opcion como de que si quiero gueradar el documento enviar.php y la otra es es que lineas tengo que cambiarle la direccion de correo electronico para que sea el mio..!?

Desde ya gracias
muy bueno gracias te quedo perfecto
oye bro me parece muy bueno y no queiro ser ignorante pero ise el formulario
y despues insete el segundo codigo en un bloc de notas y al viualizarlo no me lo manda a mi correo en donde le tengo q modificar?? claro aparte de en donde dice tu correo


bueno es para tarea espero tu pronta respuesta

bye gracias
Publicaciones
7
Fecha de inscripción
miércoles, 15 de octubre de 2008
Estatus
Miembro
Última intervención
martes, 15 de febrero de 2011
7
Gracias
A mi me pasa exactamente igual que a los demás compas... Me envías los archivos ¿porfis?
o_a_30@hotmail.com
shetecita
Publicaciones
1
Fecha de inscripción
viernes, 30 de enero de 2009
Estatus
Miembro
Última intervención
viernes, 30 de enero de 2009
-
el problema q tengo es q estuvo funcionando y luego no.. entre una ves mas hace unos dias para poder cambiar la direccion del mail que quedara pero no funciona ¿a que se debe? la ruta de los archivos esta ok, solo me queda verificar la sintaxis:

<?php
$banco = $_POST['banco'];
$fechaDep = $_POST['txtFechaD'];
$codOper = $_POST['txtCodOper'];
$curso = $_POST['slcCurso'];
$nombre = $_POST['txtNombre'];
$apellidos = $_POST['txtApellidos'];
$institucion = $_POST['txtInstitucion'];
$ciudad = $_POST['txtCiudad'];
$pais = $_POST['slcPais'];
$email = $_POST['txtEmail'];
$telefonos = $_POST['txtTelefonos'];


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

switch ($curso)
{
case 1: $nombreCurso="TechMoodle"; break;
case 2: $nombreCurso="TechExpress"; break;
case 3: $nombreCurso="Planificacion y Diseno de Cursos Virtuales"; break;
case 4: $nombreCurso="Introduccion E-Learning e Inst. y Adm. de Moodle"; break;
case 5: $nombreCurso="Introduccion a la Educacion Virtual-E-Learning"; break;
case 6: $nombreCurso="Instalación y Administracion del LMS Moodle"; break;
case 7: $nombreCurso="Planificacion de Cursos Virtuales"; break;
case 8: $nombreCurso="Diseno de Cursos Virtuales"; break;
case 9: $nombreCurso="Como generar contenidos para cursos virtuales"; break;
case 10: $nombreCurso="Moodle y La Web 2.0"; break;
case 11: $nombreCurso="Aprovechamiento de Recursos y Actividades...(Semipresencial)"; break;
case 12: $nombreCurso="Preparacion de Aulas Virtuales para la Educacion"; break;
case 13: $nombreCurso="Como realizar una Tutoria en un Curso Virtual"; break;
}

$mensaje = "Este mensaje fue enviado por... " . $nombre . " " . $apellidos . ", de la empresa " . $institucion . " \r\n";
$mensaje .= "Su e-mail es: " . $email . " \r\n";
$mensaje .= "Deposito en el Banco " . $banco . "y el codigo de operacion es " . $codOper . " \r\n";
$mensaje .= "Curso: " . $nombreCurso . "y su(s) telefono(s): " . $telefonos . " \r\n";
$mensaje .= "Residencia: " . $ciudad . "- " . $pais . " \r\n";
$mensaje .= "Fue enviado... " . date('d/m/Y', time());

$para = 'shetecita@hotmail.com';
$asunto = 'Inscripcion desde Aula Virtual';


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

?>
<style type=text/css>
.Scroller-Container {
LEFT: 0px;
POSITION: absolute;
TOP: 0px;
width: 600px;
height: 519px;
background:url(img_contenido/container_background.jpg);
}
body {
font-family:Verdana;
font-size:11px}
.Estilo1 {
font-size: 18px;
font-weight: bold;
font-family: "Franklin Gothic Book";
color:#000000;
}
.Estilo3 { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px;
}
.Estilo4 {
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:11px;
color:#FF0000;
font-weight: bold;
}
.Estilo9 {color: #FF9999}
</style>
<body>
<div class="Scroller-Container">
</h2>
<h2 align="center">Gracias!</h2>
<p align="center" style="font-size:12px"><?php print $nombre; ?></p>
<p align="center">Tu mensaje ha sido enviado correctamente<br>
Pronto nos pondremos en contacto con usted.</p>

</div>
</body>

Ya no se que hacer y necesito entregar esto al cliente.. por favor ayudenme!

Shetecita :(
6
Gracias
hola!!!

aqui les envio el codigo de un formulario que hice y si me funciona a la perfeccion, el formulario se envia a una
cuenta de correo.


HTML

<form name="contacto" method="post" action="formulario_php3.php">
<tr>
<td><div align="center"><font face="Arial" size="2"> <strong>NOMBRE: </font> </strong></div></td>
<td><input type="text" name="nombre" size="30" maxlength="30" id="nombre"> <br></td>
</tr>
<tr>
<td><div align="center"><font face="Arial" size="2"> <strong>E-MAIL: </font> </strong></div>
<td><input type="text" name="email" size="30" maxlength="40" id="email"> <br></td>
</tr>
<tr>
<td><div align="center"><font face="Arial" size="2"> <strong>TELÉFONO: </font> </strong></div>
<td><input type="text" name="telefono" size="30" maxlength="20" id="telefono"> <br></td>
</tr>
<tr>
<td><div align="center"><font face="Arial" size="2"> <strong>EMPRESA: </font> </strong></div>
<td><input type="text" name="empresa" size="30" maxlength="20" id="empresa"> <br><br></td>
</tr>
<tr>
<td colspan="2"><div align="center"><font face="Arial" size="2"> <strong> COMENTARIOS: </font> </strong><br>
<textarea name="comentario" id="comentario" cols="40" rows="5" ></textarea> </div><br><br>
<div align="center"> <input type="reset" name="Reset" value="LIMPIAR FORMA"> <input type="submit" name="Submit" value="ENVIAR"> </form>


PHP

<?
//se mandan a llamar las variables con metodo POST
$nombre = $_POST["nombre"];
$email = $_POST["email"];
$telefono = $_POST["telefono"];
$empresa = $_POST["empresa"];
$comentario = $_POST["comentario"];


//se incluyen las variables del form en el mensaje
$mensaje .="NOMBRE:". $nombre ."\n";
$mensaje .="E-MAIL: ".$email." \n";
$mensaje .="TELEFONO:".$telefono." \n";
$mensaje .="EMPRESA: ".$empresa." \n";
$mensaje .="COMENTARIO: ".$comentario." \n";

$cabeceras = "From:<$email>\n";

$body_top = "--Message-Boundary\n";
$body_top .= "Content-type: text/plain;charset=US-ASCII\n";
$body_top .= "Content-transfer-encoding: 7BIT\n";
$body_top .= "Content-description: Mail messagebody\n\n";
$cuerpo = $mensaje;

//cuenta de correo a donde quieren q llegue el formulario
$destino = "micuenta@cuenta.com";

echo ("<center><b><font size='5' color='#000000' face='Arial'>");

if (mail($destino,$origen,$cuerpo,$cabeceras))
{
echo ("SU MENSAJE A SIDO ENVIADO");
} else {
echo ("ERROR. PORFAVOR INTENTE MAS TARDE");
}

echo ("</center></font></b>");

?>

ojala y si les sirva d algo mi ayuda.

P.D. OCUPAN UN SERVIDOR PARA EJECUTAR ESTE CODIGO.

saludos...
Hola yanis, fijate que integre el codigo que das para formulario pero al intentar enviar el archivo me manda este error, aque cres que se deba

No se puede encontrar la página web
HTTP 404
Causas más probables:
Es posible que la dirección no se haya escrito correctamente.
Si hizo clic en un vínculo, es posible que no esté actualizado.

Puede intentar lo siguiente:
Volver a escribir la dirección.

Regresar a la página anterior.

Ir a y busque la información que desea.

Más información
yanis una consulta copie el codigo del formulario pero cuando lo ejecuto me envia el mensaje SU MENSAJE A SIDO ENVIADO, luego veo mi correo y no llega el formulario y eso que en el codigo PHP esta escrito mi cuenta de correo destino que puedo hacer??
3
Gracias
Que mala nota eh, a ese tal Francisco no le pidan nada ni le manden ni publiquen el correo porque lo que le manda a decir a uno textualemente es "Su precio es de tan solo de 50 € (3 archivos de programación de php para el formulario). Ponte en contacto y hablamos."

El nunca puso el precio si no, yo ni siquiera hubiera publicado mi mail para que me lo hiciera llegar, pero de todas formas gracias pelao...

Saludos a todos.


...No se embarquen...
Hola tucuta,

esto es la oferta y demanda, sino te interesa pues ya está.

No puse el precio porque en realidad no sabía en cuanto valorar ese trabajo, son muchas las horas para programar, sino recibo nada a cambio lógicamente se cobra, que para dar siempre hay tiempo. Eso no quiere decir que ayude a otros a mejorar su código y que por cierto lo hago, siempre hay que echar una mano.


Gracias por tus comentaior pelao...
> Francisco -
Francisco, yo estoy de acuerdo en que cobres por tu trabajo, sobretodo a personas que no se molestan en buscarlo por sí mismas, pues el formulario que has hecho es de lo más sencillo que hay y si no saben hacerlo, le das una patada al google y te salen cientos iguales y gratuitos, pero es más cómodo que alguien lo haga por tí.
Hay cientos, por no decir miles de tutoriales PHP que solo tienes que ir a lo que te interesa, cortar y pegar y punto, no molestar a una persona para que te lo envíe por email y pierda su tiempo.

Ese tiempo y la comodidad hay que pagarlos!!
> crock -
Sabes que hueso, llegas muy tarde, eso lo habíamos hablado hace mucho, por cierto el año pasado y otra cosa, yo no sabía como hacerlos, aprendí a hacerlos y me encontré programas que te dejan con la jeta abierta y sabes que, a esas personas que un día estuvieron como TU, PORQUE ME SUPONGO QUE NO NACISTE APRENDIDO, O SÍ, hay que ayudarles porque al menos yo estuve como ellos.

Espero que te sirva de experiencia y que algún día necesites algo y que nadie te cobre..

Te cuidas.
2
Gracias
Tucuta, sos un capo, muchisimas gracias por la informacion, la estoy usando en mi sitio, si queres ver tu obra de arte, un poco alterada en cuanto a colores, fijate en contactenos
www.stc-cba.com.ar
Te agradezco infinitamente y espero que tengas un buen año, con esto me empezo a alegrar el mio, gracias de nuevo
Bueno Alebulo, me alegro haber podido ayudarte, e igualmente para tí, Feliz Año 2009...
1
Gracias
- Revisa las comas y las comillas "" y '

_________________________________________________________________________

visita:

http://www.amanecernazareno.com/nazareno.php?jhs=contacta

Si te gusta el formulario de contacto mándame un email y te hago llegar los archivos.

Un saludo.
olles amigo me gusto mucho tu formulario, ¿soporta el hosting del triara
si es asi me lo podrias mandar por correo
gracias!!
Si puede tambien regalarme una copia a regiomontuno@hotmail.com
por fabor amigo me puedes mandar el formulario de tu pagina es que no puedo hacerlo en la miaaa ok!! he estado buscando la formula muxo tiempo pero confioen que tu me vas a ayudar ! ok muchas gracias!
matissis_94.cl@hotmail.com
Me gustaria que me enviaras los archivos, tengo un problema similar al usar mail en php. Mi correo es chucho114135@hotmail.com Gracias
abcx
Publicaciones
1
Fecha de inscripción
lunes, 8 de marzo de 2010
Estatus
Miembro
Última intervención
lunes, 8 de marzo de 2010
-
Me puedes enviar el código por favor a mi correo: abxzyx@hotmail.com
Gracias
1
Gracias
A ver si puedo ayudar un poco, llegue a este foro por la misma razon que todos problemas con las ñ y los tildes, pero me puse a revisar en otros lados y la solucion es la misma, codificacion "UTF-8".

Ensayo y error,
METAFORA "Como transmites una señal de radio y logras que otros la escuchen? por medio de una FRECUENCIA",

la señal de radio es la pagina que transmite el mensaje,
la radio receptora es la pagina que recibe el mensaje,
y la frecuencia es la codificacion, es decir UTF-8,
la radio transmite en señal 8 las receptoras tienen que estar en señal 8, si la radio la sintonizas en señal 9 podras escuchar algo? quizas si, pero con interferencias,

esa interferencia son los caracteres raros resultantes de la transmision de datos "mal sintonizada".

Resumen, transmites en UTF-8 y la pagina que recibes esta en iso-8859-1 el resultado sera "CARACTERES RAROS"

entonces para eso, sintoniza ambas paginas con la misma codificacion y el resultado sera, una señal tan nitida como no te lo imaginas.

Mi caso, caracteres raros al pasar ñ o tildes
pagina origen UTF-8
pagina destino iso-8859-1
resultado error en la codificacion

ensayo:
pagina origen UTF-8
pagina destino UTF-8
resultado: ñ y tildes pasan sin problemas

ensayo:
pagina origen iso-8859-1
pagina destino iso-8859-1
resultado : ni idea, no lo hice, me tomo tanto tiempo dar con la solucion que ni me moleste en ver que pasaba de la otra parte, preferi intentar se una ayuda para ustedes y escribir esto que hacer el otro ejercicio

Saludos y espero haber sido de ayuda
0
Gracias
me lo puedes enviar a mi tambien? gracias.

mi correo es manu@tai.es
0
Gracias
Hola perdonad que os moleste pero a mi me pasa igual me podeis enviar tambien los archivos please.
gracias
0
Gracias
El que quiera los archivos php que ponga su correo para que le informe.
-
Gracias por los archivos, tambien tengo muchos problemas con el formulario
Idem, mi email es djander1@msn.com, mandenme un formulario correcto mil gracias!!
0
Gracias
vale gracias mi email es carlos.benito@thatzad.com
0
Gracias
Yo tengo tambien ese mismo problema, por favor si es posible haceme llegas los archivos :D mi mail es: kenichi_pub@hotmail.com
0
Gracias
por favor enviamelo a mi tambien si eres tan amable a soren@hotmail.es

gracias de antemano un saludo
0
Gracias
hola oye me puedes mandar ami tambien esos archivos por favor mi correo es:
ado.g311@hotmail.com
alterna.pymes@hotmail.com
mepasa lo mismo tambien agrdeceria si me enviaran por correo las respuesta...
de antemano muchisimas gracias.

ishtarmol@gmail.com

P.D.: tengo una validaciones de campos para quien necesite...
valida si la persona escribio un correo aun que no valida si existe...
validacion de texto (letras mayusculas, minusculas, acentos,ñ,Ñ,y numero)
validacion de numeros(sin comas ni puntos)
validacion de tento sin numeros...
muestra
http://www.mdservice.com.ve/encuesta.php
0
Gracias
AUN QUIERO LOS ARCHIVOS SI ALGUIEN LOS TIENE Y LOS PUEDE ENVIAR PLEASE

ishtarmol@gmail.com
Publicaciones
2
Fecha de inscripción
miércoles, 15 de octubre de 2008
Estatus
Miembro
Última intervención
miércoles, 15 de octubre de 2008
0
Gracias
hola me gustaria recibir los archivos agredeceria mucho tu ayuda

rodrigobanales@gmail.com
0
Gracias
Me lo envias porfavor mi mail es seba_415@hotmail.com, desde ya muchas gracias
0
Gracias
yo tambien lo quiero me lo puedes mandar por favor mi email es : dyego@live.com.mx
Hola pixoba:

Que mala nota Francisco porque lo que le manda a decir a uno textualemente es "Su precio es de tan solo de 50 € (3 archivos de programación de php para el formulario). Ponte en contacto y hablamos."

El nunca puso el precio si no, yo ni siquiera hubiera publicado mi mail para que me lo hiciera llegar, pero de todas formas gracias pelao...

Saludos:


...No se embarque...
> tucuta -
Hola Pixoba,

esto es la oferta y demanda, sino te interesa pues ya está.

No puse el precio porque en realidad no sabía en cuanto valorar ese trabajo, son muchas las horas para programar, sino recibo nada a cambio lógicamente se cobra, que para dar siempre hay tiempo. Eso no quiere decir que ayude a otros a mejorar su código y que por cierto lo hago, siempre hay que echar una mano.


Gracias por tus comentaior pelao...
0
Gracias
yo tambiien quiero los codigos..por que no entiendo mucho..si me decis aparte que mas hay que hacer con esos archivos mejor (H) xD




heavens-sucks@hotmail.com
0
Gracias
a mi me pasa lo mismo podrian envirme los archivos mi correo es
santy_bli_7@hotmail.com
de antemano gracias.....