| Por: Miguel Angel Alvarez | | 07/3/03
|
Un visitante me ha mandado una duda:
Me devuelve el siguiente Mensaje.
Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Mis web\IGC\pemail.php on line 34
Pues lo que pasa es que tienes que configurar algo en el mensaje o en el php.ini, que es el archivo de configuración de PHP.
Por lo que leo en el error, parece que tienes que definir todavía el campo FROM, que es la dirección de correo del remitente. Lo tendrías que indicar o bien en la configuración del envío de correo, dentro del script PHP, o el remitente por defecto que se puede indicar en el php.ini. Para asegurarte, ponlo en los dos sitios.
Pongo aquí un header completo para el mensaje, que luego le debes de pasar a la función mail().
$headers_mensaje = "From: correo@dominio.com\r\n" . "Reply-To: correo@dominio.com\r\n" . "Return-path: correo@dominio.com\r\n" . "MIME-Version: 1.0\n" . "Content-type: text/plain; charset=iso-8859-1";
¿Se podría haber enviado este formulario a dos correos distintos?
RESPUESTA
PHP permite perfectamente el envío de un correo a dos buzones distintos, así que sólo necesitas configurar convenientemente el envío de correo para que se mande a dos sitios distintos. Hablamos sobre esta y otras configuraciones en el artículo Mandar mails desde PHP.
Hola ! Estoy comenzando a interpretar el codigo PHP. He comenzado con algo sencillo como es el envio de datos a travez de un formulario. Comprendo perfectamente el funcionamiento del codigo expuesto en esta sección. Solo tengo una duda, el archivo "envia_form_php.php" el cual llama la funcion "action" del formulario, que codigo posee ? O mejor dicho, como lo hago y que codigo tiene que tener ? Espero se entienda mi consulta.
RESPUESTA
Pues tu pregunta se entiende a medias... supongo que lo que te pasa es que no entiendes o no llegas a ver que una página puede llamarse a si misma a través de un formulario.
Todo el código de la página se puede ver en el artículo. La página en si continene un if que es capaz de realizar unas acciones u otras dependiendo de si se reciben o no datos de un formulario. Si no se reciben, se muestra el formulario y si se estaban recibiendo se opera para mandar dicho formulario por mail.
La página se debe llamar "envia_form_php.php".
a mi me sale:
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:\apache\htdocs\envia_form_php.php on line 29
RESPUESTA
Tienes mal configurado PHP para que utilize un servidor SMTP o ese servidor está caído. Eso se configura en la instalación de PHP o en el php.ini.
Perfecto, buenisimo, Para recomndar.
Ahora lo que no queda muy bien "A mi gusto" es que el usuario de ese formulario quede estancado en el mensaje de que se ha recivido el e-mail, estaría bueno poner una redirección a alguna página del sitio, despues de tantos segundos del mensaje.
se puede hacer eso?, hay que ponerlo dentro de echo?, yo intente con un javaScript pero me tira falla enm la linea N°X.
De todas maneras estoy más que satisfecho con dicho formulario de envio de correo.
Saludos
Pregunta: ¿funciona igual desde el sistema operativo linux?
RESPUESTA
Sí, PHP funciona igual independientemente del sistema operativo que se utilice. En este caso lo que hay que tener es bien configurado PHP en cualquiera de los dos sistemas.
Esto estuvo reweno, y les agradezco que se tomen el tiempo para ayudar a otros; sin embargo (no dejo de ser un neófito) me queda la duda de si para enviar el formulario por mail el visitante tendrá que habilitar su, por ejemplo, outlook express; o si esto me libera de dichos programas.
RESPUESTA
Si envia el correo con el servidor, como en este caso, el vistitante no necesita tener Outlook ni ningún otro programa de correo.
Como puedo hacer que después de enviar el formulario, se redirija a otra pagina?
RESPUESTA
Pues poniendo al final del script un header("location:http://www.tudireccion.com")
que sirve para crear una redirección a una URL concreta. El header envía información en la cabecera del protocolo http y solo se puede ejecutar si aun no se ha escrito texto en la página.
Me funciono sin ningun problema pero solo poniendo el codigo que me dio, o sea copiando y pegando...pero al copiar igual el mismo codigo, en una pagina ya prediseñada por mi y ordenando un poco mas los forms, no me funciona, porque?
muy buenos los tutoriales ñ_ñ
RESPUESTA
La verdad es que no puedo saber porqué no te funcionó. Debería verlo, pero lo que está claro es que has hecho algo mal.
¿Dónde está el archivo
envia_form_php.php? ¿Es donde debemos colocar el trozo de código que manda el correo?
Respuesta
Disculpad que no haya comentado ese detalle en el artículo. Lo que estás comentando no es exactamente correcto. Me explico:
En realidad sólo hay un archivo y se llama envia_form_php.php. Ese archivo contiene todo el código del ejemplo. El formulario, por decirlo de alguna manera, se llama a si mismo y es suficientemente listo para saber si debe mostrar el formulario o debe mandar el mail.
Miguel:
Utilicé tu script en uno de los sitios que programé y funcionó a la perfección.
Pero al querer usarlo en otros dos sitios me figura un error 405 (HTTP 405 - Resource not allowed
Internet Explorer)
Esto se debe a que el servidor no admite php? (segun ellos si lo hace) Quise usar otro scrip de php y tampoco anduvo.
Desde ya gracias.
Muy buen articulo, necesitaba hacer esto de urgencia y tan solo meti en un buscador las palabras claves y di con este sitio, muy buen trabajo, el unico problema que tube fue en comprender que el archivo debia llamarse asi o en su defecto acmbiar en el codigo para que donde dice archivo.php diga el nombre de tu archivo.
Sigan así.
La funcion mail() retorna true si se realiza y false si no, bueno a mi me retorna false, tengo windows y he leido que es necesario tener un servidor smtp instalado y otras cosas, pero tu dices que no, en fin, no me funciona y no se que es grax.
De esta forma se peude mandar al remitente un correo, en el que se reproduce su formulario, y se le da acuse de recibo
//mando el correo...
mail("admin@tudominio.com","Formulario recibido",$cuerpo);
$respuesta ='Recibimos su preticion. Recibirá nuestras noticias' ;
mail(el correo del usuario,"Formulario recibido",$cuerpo . '\n' . $respuesta);
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
Mira, yo tengo un codigo para subir archivos:
//tomo el valor de un elemento de tipo texto del formulario
$cadenatexto = $_POST["cadenatexto"];
echo "Escribió en el campo de texto: " . $cadenatexto . "
";
//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && ($tamano_archivo < 100000))) {
echo "La extensión o el tamaño de los archivos no es correcta.
Se permiten archivos .gif o .jpg se permiten archivos de 100 Kb máximo. |
";
}else{
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){
echo "El archivo ha sido cargado correctamente.";
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
?>
Lo que yo quiero, es que, en caso de que el archivo se suba correctamente, se me notifique con un mail en el cual me de:
- Lo que escribieron en el campo de texto
- y el nombre del archivo que subieron:
¿Qué hago?
RESPUESTA
El ejemplo es exactamente igual que el del formulario que hemos relatado en este artículo. Lo único que, en el cuerpo del mensaje debes componer otro texto utilizando las variables que necesitas.
Mi duda es: si yo lo programo para que funcione en mi maquila ( Instalado PHP apache etc.) y luego lo paso a un servidor pago, en el mismo funcionaria. Ya que no tengo la posibilidad de programar el smtp.
RESPUESTA
Funcionará perfectamente en el servidor donde lo alojes, sin cambiar ningún código.
Es responsabilidad de la empresa que te aloja la página web tener correctamente configurado el sistema para enviar los correos electrónicos con PHP. Así pues, si algo no funciona, te tienen que prestar soporte y configurar el servidor para que funcione.
Para los que tienen dudas con el "action de formulario", es decir el archivo "envia_form_php.php", pueden reemplazarlo por:
<form action='".$PHP_SELF."' method='post'>
A mi no me funciona, sale el mensaje :"Gracias por rellenar el formulario. Se ha enviado correctamente." pero en mi correo no recibo nada.
RESPUESTA
Lo primero para saber si realmente se ha enviado bien o no ese correo electrónico sería utilizar lo que devuelve la función mail(). Si devuelve true es que se envió el mensaje, en caso contrario, es que no se pudo enviar el mensaje por algún error. El código quedaría algo como esto:
if (mail("admin@tudominio.com","Formulario recibido",$cuerpo))
echo "todo correcto";
else
echo "No se pudo enviar el correo";
Además, puede ocurrir que, aunque PHP envíe el mensaje, tu servidor lo rechace por estar configurado correctamente o enviado a través de un servidor que no corresponde con el dominio de la dirección de correo electrónico. (algunos servidores de correo hacen comprobaciones de este estilo para asegurar que los mensajes no son spam).
Existe un pequeño error es este script ( también puede ser debido al servidor ). Para que el formulario se envie de forma correcta o al menos llegue, para pasar de campo en campo has de utilizar "TAB", no el click del ratón. Si utilizas "TAB" el mail llega, de lo contrario, si utilizas para pasar de campo en campo el clik del ratón, no lo hace.
Yo quería copmentar que quizá haya a quien no le funcione este este codigo al crear su propio formulario php, en mi caso no me funcionaba porque la acción del formulario tenía un nombre distinto al del propio archivo que lo contiene. Es decir que si tu pagina se llama formulario.php en la acción del formulario debes de poner formulario.php
| Por: Harry Peñaranda | | 22/4/04
|
he desarrollado una pagina en php con base de datos, y he logrado enviar reportes correctamente usando la funcoin mail() de php, pero, el problema es que cuando trate de mejorar la presentacion de los reportes agregando codigo html para crear marcos y tablas, el problema es que al abrir el mail recibido, lo que veo es el codigo html y eso no es el resultado deseado... existe alguna forma que el correo tradusca ese codigo html y no mostrarlo como texto simple?
RESPUESTA
En las header del mensaje debes configurar el formato del email (texto plano / HTML).
Por ejemplo, así llegaría en formato HTML:
$headers_mensaje = "From: correo@dominio.com\r\n" . "Reply-To: correo@dominio.com\r\n" . "Return-path: correo@dominio.com\r\n" . "MIME-Version: 1.0\n" . "Content-type: text/html; charset=iso-8859-1";
Muy bueno y sencillo el código; pero como se adiciona para enviar el cuerpo del mensaje como un Html, es decir que pueda insertar tags de Html; esto para dar una mejor presentación en el correo que recibe.
Saludos,
Muy buen Script, 100% configurable, y personalizable, vengo usando ASP desde hace ya 2 años y recien estoy realizando ahora sitios con PHP, y de verdad esta función mail es muy poderosa.
Ok .. barbaro .. lo copie y pegue .. y funciono perfectamente .. pero cuando le fui a agregar un campo me decia el form se envio correctamente, pero nunca llego a mi mail..
Bueno pero en mi caso fue por que copie el campo nombre y lo pegue, y como esta "nombre" entre comillas no me funcionaba, despues copie y pegue uno de los otros campos y funciono correctamente ... no se si entiende .. pero bueno ... si a aguien le pasa lo mismo escriban nomas que tratare de explicarlo mejor .. pero no pregunten por que, porque no se..
Gracias por todo!
Con respecto al funcionamiento del script, ¿no deberia estar encerrado entre comillas los name de email y comment en el formulario?
Chicos sigan con el sitio que esta barbaro.
Estoy muy agradecida con ustedes porque este código funciona correctamente y es muy claro! Que chevere que se distribuya el conocimiento para que sea de dominio de todos. Muchas gracias!
Saludos
Man, experimenté con el form y funciona, pero es posible validar los campos para evitar que se escriban en ellos cualquier cosa?, además, es posible cambiar el encabezado que llega a la casilla email que dice nobody??
Gracias y saludos,
Lillonix
Efectivamente excelentes tutoriales, FELICITACIONES!
A mi me resulto muy bien y utilize el codigo en un Servidor Gratuito de Lycos, ya que te permite manejar PHP y MySQL, te inscribes y activas los servicios de PHP y MySQL,subes el index.html ye el archivo envia_form_php.php lo unico que hice fue de la pagina principal crear un hipervinculo hacia la pagina envia_form_php.php y asunto arreglado funciona a la perfeccion... Gracias y espero haber ayudado con esta informacion
| Por: Omar Hernández | | 12/2/05
|
Hola, el formulario funciona perfecto, con el también he podido mandar mails a otros usuarios, el problema que tengo es que al mandar mails al correos de hotmail nomas llegan si los mando como html, no se si el problema esten en lo que le pongo a la funcion mail de php: $headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; .
Con cualquier otro correo funciona perfecto exepto con los de hotmail. !AYUDAAA!
Hola, Muy buen tutorial, y mejor el retorno del e-mail al usuario que lo llena, lo unico es que el "from" llega a nombre de "Nobody, nobody@zion.reaktormedia.com" Hay manera de personalizar eso? Gracias!
Warning: mail(): "sendmail_from" not...
Hola, espero poder ayudar a alguien con esta solución al probema:
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing
Resulta que en su día, al configurar el php.ini no me fije que en el parametro [mail] la variable mail_from esta comentada i no activada. Así como otras variables de configuración por defecto aparecen activadas esta no ya que esta preparado para windows i Linux.
Solo tienes que quitar el ; que hay en el principio de la variable.
Para aquellos que la variable del php.ini esté activa esta respuesta no les servirá de ayuda.
Fantastico script, funciona a la perfección, aunque tuve un problema que se me arregló añadiendo "\r\n" al componer el cuerpo del correo, en vez de "\n". Mi consulta viene porque me interesaría que el correo cuando se abriera por parte del receptor, mandara confirmación de apertura. Gracias
Me funciono a la perfección. Los felicito.
Por otro lado, quice insertar un campo para adjuntar archivo, revise el correo y me llego el texto, no así el archivo adjunto...Me podrián guiar?
gracias y repito..los felicito
}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";
//from, de quien llega
$cabeceras .= "From: dequienes <tu@email.cl>\r\n";
//mando el correo...
mail("admin@tudominio.com","Formulario recibido",$cuerpo,$cabeceras);
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
// espero les sirva ya que personaliza la enviada del correo
tengo mas codigos reacondicionados por mi
info@mientrasbuscaspega.cl
Hola, a todos los que tienen windows98 y les da el siguiente problema:
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing
acordaos de quitar el punto y coma de mail_from en php.ini pero no sólo en el php.ini que está dentro de php... ¡acordaos del php.ini que está en el directorio windows!
me ha costado un montón de qubraderos de cabeza, espero que le ayude a alguien
un saludo
he encontrado un script que permite mandar un formulario con archivo adjunto..si alguien lo necesita gustoso se lo mando, he modificado una parte de el, eso si minimamente, pero funciona super bien, ya lo he probado..no lo pongo aca por que es un poco largo pero no tengo dramas en mandarlo
Tengo un formulario que esta compuesto por una tabla de 2 columnas y 16 filas. La columna del lado izquierdo contiene las preguntas y la columna del lado derecho contiene el campo para que el usuario responda. Una vez que relleno el formulario y le doy a enviar, me llega perfecto a mi correo. Pero...como hago para que llege a mi correo en una tabla con 2 columnas y 16 filas y no con un simple texto: Gracias !
RESPUESTA
Pues tienes que enviar el mensaje en formato HTML, incluyendo dentro del mensaje el código HTML necesario para que se vean las tablas tal como quieres.
En otro comentario de este artículo ya hemos explicado como modificar las headers del mensaje para que se envíe en formato HTML.
El script funciona correctamente en mi servidor que es linux. Lo unico q me gustaria implementar que una vez enviado no devuelva el mensaje echo() y si me devuelva a la pagina principal.
RESPUESTA
Entonces debes utilizar la función header() de PHP. Un ejemplo sería:
header ("location: http://www.elsitio.com")
La ruta que pones en el location puede ser relativa. Por ejemplo algo como:
header ("location: ../index.php")
Atención: Antes de hacer una llamada a esta función no se debe haber escrito nada en la página.
Debido a que muchas personas tenemos esta duda, mejor dicho teniamos, porque ya lo descifre, pego el codigo para que este espectacular formulario llegue sin el famoso "nobody" en el campo DE, sino con el correo del que lo lleno, en este pedacito esta el secreto.
$cuerpo .= "Relativo: " . $HTTP_POST_VARS["relativo"] . "\n";
//Este es un ejemplo, es el ultimo campo del formulario que el usuario lleno.
$cabeceras .= "From: $email\r\n";
mail("webmaster@tatati.net","$relativo",$cuerpo,$cabeceras);
Y listo el formulario, como ves es solo agregar la cabecera y luego agregar en "mail" a lo ultimo $cabecera y ya.
| Por: Enrique David | | 20/11/05
|
Hola ¿que tal?. Solo queria deciros que para recibir una confirmación de apertura, tan solo teneis que añadir la siguiente linea a las cabeceras de los correos:
Disposition-Notification-To: correo@electronico.es
SOLO ERA ESTO, saludos.
me parece muy bueno el codigo que pusieron por aqui, me funciona muy bien, corrigiendo algunas cosillas pero nada para espantarse ahora mi duda es si puedo crear algo parecido pero pudiendo agregar un archivo adjunto, soy mas o menos nuevo en esto y he buscado tutoriales sobre lo que busco y no he tenido suerte, espero que aqui puedan sacarme de esta duda, GRACIAS !
Gracias a Dios que existe desarrolloweb.com este es el script mas facil que e encontrado en la red para enviar formularios por email demasiado de facil de utilizar, copialo, pegalo y listo.Que Dios los sigua iluminando.Gracias
William, de Puerto Rico
| Por: Sandra Largo Lopez | | 20/4/06
|
Estoy muy agradecida por los articulos que publican en este sitio web, hace unos tres años diseño paginas web y estoy iniciando en el desarrollo con php de las mismas y no sabia como recibir los datos de un formulario y enviarlos a un email, hoy he aprendido! Muchisimas gracias a los creadores de este Web Site!
Hola, tengo mi servidor web apache con PHP y copie el codiogo tal y como esta solo modifique el correo a mandar. lo ejecute desde mi navegador y aparecio ke habia enviado el correo pero nunca lo envio a que se debe esto, lei algo asi de un servidor SMTP y ese no lo tengo instlado, ojalá puedan ayudarme GRACIAS
Solamente quiero daros las gracias y mi mas sincera enhorabuena un articulo de lo mas sencillo y eficaz Gracias.
El unico GRAN problema sq cuando se te keda al final en la web con el mensaje de enviado, akel que sea listo y kiera joder le dara a f5 hasta saciarse y con ello te hara un flood increible en el buzon. Saludos
muchas gracias.. me sirvio muchisimo esto para entender un poco lo que es php.. y lo que puedo hacer con el.
Hola, para los que tienen el problema con paginas PHP y les da este error
deben revisar en el IIS
Propiedase- Home Directory -configuracion
App Mappings aki se debe revisar si esta agregada la extencion .PHP si no esta agregarla.
Se agrega el archivo PHP.exe que esta en el path donde se instalo PHP
Saludos
espero que les sirva
No seria mas facil ponerlo asi:
<form action="(nombre).php" method=post>
(Campos del formulario)
</form>
</body>
</html>
Al tener el form action= esta obteniendo el archivo php siguiente:
<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado
";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "
";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "
";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["coment"] . "
";
//mando el correo...
mail("admin@tudominio.com","Formulario recibido",$cuerpo);
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>
Eso creo
por fin he encontrado un formulario que funciona. gracias por el trabajo que realizas y las soluciones que dás a los que estamos comenzando con php.
un saludo.
Es un articulo genial, muy didactico, sencillo y util. Gracias. Muchas Gracias.
Además aprovecho para felicitaros por vuestra excelente labor.
hola desarrollo web solo quiero felicitarlos por el excelente trabajo que realizan.
| Por: Juan Pablo Morales | | 25/8/07
|
Por fin! Gracias al tutorial puedo tener mi propio formulario! Me ha funcionado correctamente todo, muchas gracias ;).
si alguien llega a tener el mismo problema que yo tuve aqui esta la solucion
http://email.about.com/od/emailprogrammingtips/qt/et073006.htm
he escrito a mi distribuidor de hosting, y me ha respondido;
Ese método de acceso a variables POST está obsoleto desde hace años.
Por favor consulte la documentación para ver los cambios.
Este enlace puede ayudarle:
http://es.php.net/reserved.variables
a mi pregunta;
vale, me refria al metodo post de html, este archivo especifico
> http://www.xxxxxxxx.com/contacta.php en un servidor xaamp de php en local
> funciona correctamente, pero ese mismo archivo subirlo a mi vps linux que
> esta contratado con vosotros no funciona, este es el metodo de recepcion
> $HTTP_POST_VARS, me podrian ajudar
| Por: Cesar Figueroa | | 01/10/07
|
Del primer formulario que esta al inicio del tada la web, este me permite enviar nombre, email y mensaje, pero como yo podria colocar que el campo de email sea obligatorio, que si no lo llenan que no envie el mensaje a nuestros correo.s
Saludos.- GRAICAS
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()
Cuando intento enviar un correo me aparece este mensaje, rebice mi php.ini y esta configurado de esta forma:
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
por favor diganme que le falta o le sobra!!! :S
Gracias!!, por fin un formulario que anda...Gracias...TOTALES.-
| Por: Cristian Lezcano | | 14/3/08
|
Bueno he leido varios comentarios pero ninguno resuelve los errores.. en el error de From .solo corrige. por ahi esta un codigo correcto que utiliza el From.. ahora cuando sale el error Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25... pues teneis q tener instalado en tu compu . un servidor de correos.. eso es todo..Espero haber resuelto sus dudas...
Hola,. en cuanto a las personas que no pueden enviar correo porque les da el error de la configuracion de SMTP, deben abrir el archivo php.ini que normalmente esta en la carpeta apache/bin,. en el archivo buscan la configuracion mail function y la modifican. ejemplo. .. (solo para windows...)
[mail function]
; For Win32 only.
SMTP = mail.cantv.net (aqui colocas el smtp que esta en tu outlook)
smtp_port = 25
; For Win32 only.
sendmail_from = yo@cantv.net ( tu correo - el origen )
soycomi... | ¿Cómo hacer un campo obligatorio en este formulario php?
| 25/5/09 |
Hola buenas.
Me interesa mucho saber cómo hacer que uno de los campos sea obligatorio.
He leido que con Javascript no es seguro, que es mejor con PhP.
He intentado implementar el código viendo otros ejemplos, pero no pude.
Porfavor, sería muy útil.
Gracias
nani242... | No se direcciona
| 19/6/09 |
hola ya me llega el mensaje y todo pero no se me redirecciona a la pagina donde ya le puse el codigo pero me sale error en la inea 40
header ("location: ../index.php") le pongo ese codigo, luego dice que no tiene que tener escritura la pagina cual pagina no le entendi en eso.
benjami... | No funciona al cambiar de servidor
| 23/7/09 |
He utilizado estupendo manual para realizar varios formularios sin ningún tipo de problema. Ahora he cambiado de servidor y ha dejado de funcionar (sin hacer ningún tipo de cambio). He preguntado a la empresa donde lo tengo alojado ahora (comerciosonline.com) y me han contestado lo siguiente: "Nuestros servidores soportan php 5.1 y mysql, tendría que revisar la programación de su página web para ver donde no está funcionando correctamente."
¿Tengo que hacer algún cambio en el dódigo?
Muchas gracias por vuestra respuesta.
romina4... | PHP
| 03/8/09 |
Muy buen aporte lo utilizare en el <a href="http://www.developerusoft.com/" title="desarrollo de aplicaciones web">desarrollo de aplicaciones web</a>.
gman | recorte
| 10/8/09 |
hola me sirvio para hacer el archivo q no podia solucionarme el dolor de cabeza, email.php
cce | agregar link en el cuerpo del mail
| 03/9/09 |
hola a todos..qisiera poder agregar un link dentro del cuerpo del mail, de la funcion mail() de php. Por ejemplo:
$message= " buen dia, si qiere ingresar a nuestro sitio haga click aqui..."...y donde dice aqui, haya un link a mi pagina....como lo puedo hacer con esta funcion?..Gracias.-
johnlop... | localhost debería mandar el mail realmente?
| 12/9/09 |
Bueno, eso, a mi me limpia el formulario pero no me está mandando el mail y no me está haciendo el echo final que avisa que el formulario fue enviado.
Coloco aquí el código, la página se llama Contacto.php
<body onLoad="javascript:document.formulario.nomape.focus ();">
<?
if (!$HTTP_POST_VARS){
?>
<form method="post" name="formulario" action="Contacto.php" enctype="text/plain">
<fieldset>
<legend id="campo">Comuníquese con nosotros <span class="Estilo2">(todos los datos son obligatorios)</span></legend>
<div class="datos">
<div class="nomdat">
<label for="nomape">Nombre y Apellido</label>
</div>
<div class="cajadat">
<input title="Nombre" class="caja1" id="nomape" name="Nombre" type="text" size="70" maxlength="70" onFocus="resaltar(this)" onBlur="valido_nombre(this)" />
</div>
</div>
<div class="spacer"> </div>
<div class="datos">
<div class="nomdat">
<label for="Mail">E - Mail</label>
</div>
<div class="cajadat">
<input title="Mail" class="caja1" id="Mail" name="Mail" type="text" size="50" maxlength="50" onBlur="valido_mail(this)" onFocus="resaltar(this)" />
<br/>
</div>
</div>
<div class="spacer"> </div>
<div class="datos">
<div class="nomdat">
<label for="Tel">Teléfono y/o Celular</label>
</div>
<div class="cajadat">
<input title="Teléfono" class="caja1" id="Tel" name="Telefono" type="text" size="25" maxlength="35" onFocus="resaltar(this)" onBlur="valido_telefono(this)"/>
</div>
</div>
<div class="spacer"> </div>
<div>
<label for="Coment">Comentarios o preguntas</label>
<br />
<textarea title="Comentarios" class="caja1" id="Coment" name="Comentarios" rows="7" cols="70" onFocus="resaltar(this)" onBlur="volver(this)"></textarea>
<br />
<br />
<input type="submit" value="enviar" />
<input type="reset" value="limpiar" />
</div>
</fieldset>
</form>
</div>
</div>
<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado
";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["Nombre"] . "
";
$cuerpo .= "Email: " . $HTTP_POST_VARS["Mail"] . "
";
$cuerpo .= "Tel.: ". $HTTP_POST_VARS["Telefono"] . "
";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["Comentarios"] . "
";
mail("mimail@gmail.com","Formulario recibido",$cuerpo);
echo "Gracias por completar el formulario. Se ha enviado correctamente.";
}
?>
</body>
</html>
mnica_b... | Envío de Formulario
| 30/9/09 |
johnlop no se si lo has solucionado ya, pero sino tienes que cambiar la variable $HTTP_POST_VARS por $_POST y te enviará el mail correctamente
| HTTP_POST_VARS en 5.3.0
| 13/10/09 |
Cuando utilizo esta línea de código en 5.3.0
if (!$HTTP_POST_VARS){
me sale el error
Notice: Undefined variable: HTTP_POST_VARS in...
Alguien sabe como adaptarlo?
Gracias y saludos
angelgu... | formulario de contacto con autorespondedor
| 07/1/10 |
Hola, ante todo un gran saludo por Nuevo Año 2010!, a ver quien puede ayudarme, yo hice el diseño de mi pagina web de poco a poco y la verdad pues me sumergi mucho en este mundo , que hasta ahora no se como lo hice, es fantastico ya que me mantenia ocupado en mis momentos aburridos, y bueno tengo una consulta el for de contactenos, yo tengo creado mi formulario en html, y el formulario en php, http://www.vgmaquinarias.com/Index-4.html , lo que me falta es tener mas campos de texto, este modelo lo saque de otra pagina gratis, pero yo quiero que tengas mas opciones, yo entiendo que hay que editar el formulario php, a ver si hay alguien que me ayude en esto de la edicion, solo quiero tener el siguiente orden, lo que falta por favor agreguenle en el formulario php que mas abajo les pongo, y bueno el siguiente orden es que lo que yo necesito tener en mi formulario, y que tambien sean obligatorios llenar las casillas aunque este ya tiene. (cuando alguien te escribe de tu formulario web, llega el mensaje a tu correo y en el remitente sale su correo directo de la persona quien te escribio y asi es mas facil responder directamente, y tambien sale el IP y la hora de envio)
Nombres :
Pais :
Ciudad :
E-mail :
Tema de consulta :
Consulta o Comentario :
Este es el contenido de mi formulario php , cuando envien el mensaje le devuelva a otra pagina avisando que se a enviado correctamente y tambien con una copia del mensaje que le llega al correo del remitente, es con autocontestador, eso es todo y gracias
<?
/**
* - sending mail via form
*
* Author: Alex Scott
* Details: The installation file
* Release: 1.1 ($Revision: 1.6 $)
*
* A U T O R E S P O N D E D O R
*
*/
/*****************************************************************************
* *
* C O N F I G U R A C I O N *
* *
*****************************************************************************/
// MODIFICA TU EMAIL AQUÍ //////////////////////////////////////////
// si está vació usará el email del campo ('send_to')
$send_to = "<nombre@tudominio.com>";
// Configura $send_cc si deseas enviar otra copia de la orden de hosting a otro email
// por ejemplo: $send_cc = array('O.COM'');
$send_cc = array('nombre@msn.com', 'nombre@hotmail.com');
// MODIFICA AQUÍ el Subject o Título del email que recibirás en tu correo
// Puedes modificarlo si deseas recibirlo con otro nombre
$subject = "Consulta desde Sitio web ";
// No modificar
$referrers = array();
// No modificar - Si deseas puedes incluir el envio de archivos, valor 1 si, 0 no.
$attachment_enabled = 0;
// No modificar - Database - write CSV file with data of submitted forms //////////////
$database_enabled = 0;
$database_file = 'email.csv';
// Fields to collect
// $database_fields = '*' - mean all fields, as in form
// $database_fields = array('from', 'subject') - only 'from', 'subject' fields
$database_fields = '*';
//////MODIFICA AQUÍ Dirección URL después de procesar el formulario
$redirect_url = 'http://www.tudominio.com/thanks.html';
////// AutoRespondedor
////// Puedes cambiar cualquiera de los campos usando...
////// %nombre_campo% en el email de respuesta.
//////
$autoresponder_enabled = 1;
$autoresponder_from = $send_to;
$autoresponder_subject = "Tu Mensaje ha Sido recibido ";
$autoresponder_message = <<<MSG
%nombre_req%:
Tu pregunta o comentario ha sido recibido
Te responderé en breve plazo.
Muchas Gracias.
http://www.tudominio.com/
___________________
Tu mensaje fué:
%comentarios%
----------------------------------------------------------------------------
MSG;
/***************************************************************************/
function do_formmail(){
global $autoresponder_enabled, $database_enabled;
$form = get_form_data();
$errors = check_form($form);
if ($errors) {
display_errors($errors);
return;
}
send_mail($form);
if ($autoresponder_enabled)
auto_respond($form);
if ($database_enabled)
save_form($form);
redirect();
}
function redirect(){
global $redirect_url;
header("Location: $redirect_url");
exit();
}
function save_form($vars){
global $database_file, $database_fields;
$f = fopen($database_file, 'a');
if (!$f){
die("Cannot open db file for save");
}
foreach ($vars as $k=>$v) {
$vars[$k] = str_replace(array("|", "
","
"), array('_',' ',' '), $v);
}
if (is_array($database_fields)) {
$vars_orig = $vars;
$vars = array();
foreach ($database_fields as $k)
$vars[$k] = $vars_orig[$k];
}
$str = join('|', $vars);
fwrite($f, $str."
");
fclose($f);
}
function auto_respond($vars){
global $autoresponder_from, $autoresponder_message, $autoresponder_subject;
/// replace all vars in message
$msg = $autoresponder_message;
preg_match_all('/%(.+?)%/', $msg, $out);
$s_vars = $out[1]; //field list to substitute
foreach ($s_vars as $k)
$msg = str_replace("%$k%", $vars[$k], $msg);
/// replace all vars in subject
$subj = $autoresponder_subject;
preg_match_all('/%(.+?)%/', $subj, $out);
$s_vars = $out[1]; //field list to substitute
foreach ($s_vars as $k)
$subj = str_replace("%$k%", $vars[$k], $subj);
//
$_send_to = "$vars[name_from] <".$vars[email_from].">";
$_send_from = $autoresponder_from;
mail($_send_to, $subj, $msg, "From: $_send_from");
}
function _build_fields($vars){
$skip_fields = array(
'name_from',
'email_from',
'email_to',
'name_to',
'subject');
// order by numeric begin, if it exists
$is_ordered = 0;
foreach ($vars as $k=>$v)
if (in_array($k, $skip_fields)) unset($vars[$k]);
$new_vars = array();
foreach ($vars as $k=>$v){
// remove _num, _reqnum, _req from end of field names
$k = preg_replace('/_(req|num|reqnum)$/', '', $k);
// check if the fields is ordered
if (preg_match('/^d+[ :_-]/', $k)) $is_ordered++;
//remove number from begin of fields
$k = preg_replace('/^d+[ :_-]/', '', $k);
$new_vars[$k] = $v;
}
$vars = $new_vars;
$max_length = 10; // max length of key field
foreach ($vars as $k=>$v) {
$klen = strlen($k);
if (($klen > $max_length) && ($klen < 40))
$max_length = $klen;
}
if ($is_ordered)
ksort($vars);
// make output text
$out = "";
foreach ($vars as $k=>$v){
$k = str_replace('_', ' ', $k);
$k = ucfirst($k);
$len_diff = $max_length - strlen($k);
if ($len_diff > 0)
$fill = str_repeat('.', $len_diff);
else
$fill = '';
$out .= $k."$fill...: $v
";
}
return $out;
}
function send_mail($vars){
global $send_to, $send_cc;
global $subject;
global $attachment_enabled;
global $REMOTE_ADDR;
global $HTTP_POST_FILES;
$files = array(); //files (field names) to attach in mail
if (count($HTTP_POST_FILES) && $attachment_enabled){
$files = array_keys($HTTP_POST_FILES);
}
// build mail
$date_time = date('Y-m-d H:i:s');
$mime_delimiter = md5(time());
$fields = _build_fields($vars);
$mail = <<<EOF
This is a MIME-encapsulated message
--$mime_delimiter
Content-type: text/plain
Content-Transfer-Encoding: 8bit
El mensaje enviado es:
$fields
--------------------
Numero IP : $REMOTE_ADDR
Fecha y Hora : $date_time
EOF;
if (count($files)){
foreach ($files as $file){
$file_name = $HTTP_POST_FILES[$file]['name'];
$file_type = $HTTP_POST_FILES[$file]['type'];
$file_tmp_name = $HTTP_POST_FILES[$file]['tmp_name'];
$file_cnt = "";
$f=@fopen($file_tmp_name, "rb");
if (!$f)
continue;
while($f && !feof($f))
$file_cnt .= fread($f, 4096);
fclose($f);
if (!strlen($file_type)) $file_type="applicaton/octet-stream";
if ($file_type == 'application/x-msdownload')
$file_type = "applicaton/octet-stream";
$mail .= "
--$mime_delimiter
";
$mail .= "Content-type: $file_type
";
$mail .= "Content-Disposition: attachment; filename="$file_name"
";
$mail .= "Content-Transfer-Encoding: base64
";
$mail .= chunk_split(base64_encode($file_cnt));
}
}
$mail .= "
--$mime_delimiter--";
//send to
$_send_to = $send_to ? $send_to : "$vars[name_to] <".$vars[email_to].">";
$_send_from = "$vars[name_from] <".$vars[email_from].">";
$_subject = $subject ? $subject : $vars['subject'];
mail($_send_to, $_subject, $mail,
"Mime-Version: 1.0
From: $_send_from
Content-Type: multipart/mixed;
boundary="$mime_delimiter"
Content-Disposition: inline");
foreach ($send_cc as $v){
mail($v, $_subject, $mail,
"Mime-Version: 1.0
From: $_send_from
Content-Type: multipart/mixed;
boundary="$mime_delimiter"
Content-Disposition: inline");
}
}
function get_form_data(){
global $REQUEST_METHOD;
global $HTTP_POST_VARS;
global $HTTP_GET_VARS;
$vars = ($REQUEST_METHOD == 'GET') ? $HTTP_GET_VARS : $HTTP_POST_VARS;
//strip spaces from all fields
foreach ($vars as $k=>$v) $vars[$k] = trim($v);
return $vars;
}
function check_form($vars){
global $referrers;
global $send_to;
global $subject;
global $HTTP_REFERER;
$errors = array();
// checkear email
if (!strlen($vars['email_from'])){
$errors[] = "El campo <b>Email</b> está vacio";
} else if (!check_email($vars['email_from'])){
$errors[] = "El formato del <b>Email</b> es incorrecto";
}
if (!strlen($send_to) && !strlen($vars['email_to'])){
$errors[] = "El campo <b>Email</b> está vacio (mal configurado)";
} else if (!strlen($send_to) && !check_email($vars['email_to'])){
//if to email specified in form, check it and display error
$errors[] = "El formato del <b>Email</b> es incorrecto";
}
if (!strlen($vars['subject']) && !strlen($subject)){
$errors[] = "<b>Subject</b> vacio, posible error en la configuración";
}
foreach ($vars as $k=>$v){
// checkaer campos requeridos (Terminación req , ejemplo: campo_req)
if (preg_match('/^(.+?)_req$/i', $k, $m) && !strlen($v)){
$field_name = ucfirst($m[1]);
$errors[] = "El campo <b>$field_name</b> está vacio";
}
// checkear campos numéricos (terminan con _num )
if (preg_match('/^(.+?)_num$/i', $k, $m) && strlen($v) && !is_numeric($v)){
$field_name = ucfirst($m[1]);
$errors[] = "El campo <b>$field_name</b> debe contener solo digitos o estar vacio";
}
// checkear por campos numéricos y campos requeridos, ambos; (terminan _reqnum)
if (preg_match('/^(.+?)_reqnum$/i', $k, $m) && !is_numeric($v)){
$field_name = ucfirst($m[1]);
$errors[] = "El campo <b>$field_name</b> debe contener solo digitos";
}
}
//check referrer
if (is_array($referrers) && count($referrers)){
$ref = parse_url($HTTP_REFERER);
$host = $ref['host'];
$host_found = 0;
foreach ($referrers as $r){
if (strstr($host, $r))
$host_found++;
}
if (!$host_found){
$errors[] = "Unknown Referrer: <b>$host</b>";
}
}
return $errors;
}
function display_errors($errors){
$errors = '<li>' . join('<li>', $errors);
print <<<EOF
<html>
<head><title>Error</title></head>
<body bgcolor=white>
<h3 align=center><font color=red>Un Error ha Ocurrido</font></h3>
<hr width=80%>
<table align=center><tr><td>
$errors
</td></tr></table>
<p align=center>
Por favor presiona <a href="javascript: history.back(-1)">volver</a> para solucionar este error.
</p>
<hr width=80%>
<center>
</center>
</body></html>
EOF;
}
/**
* Check email using regexes
* @param string email
* @return bool true if email valid, false if not
*/
function check_email($email) {
#characters allowed on name: 0-9a-Z-._ on host: 0-9a-Z-. on between: @
if (!preg_match('/^[0-9a-zA-Z.-\_]+@[0-9a-zA-Z.-]+$/', $email))
return false;
#must start or end with alpha or num
if ( preg_match('/^[^0-9a-zA-Z]|[^0-9a-zA-Z]$/', $email))
return false;
#name must end with alpha or num
if (!preg_match('/([0-9a-zA-Z_]{1})@./',$email) )
return false;
#host must start with alpha or num
if (!preg_match('/.@([0-9a-zA-Z_]{1})/',$email) )
return false;
#pair .- or -. or -- or .. not allowed
if ( preg_match('/..-.|.-..|....|.--./',$email) )
return false;
#pair ._ or -_ or _. or _- or __ not allowed
if ( preg_match('/..\_.|.-\_.|.\_..|.\_-.|.\_\_./',$email) )
return false;
#host must end with '.' plus 2-5 alpha for TopLevelDomain
if (!preg_match('/.([a-zA-Z]{2,5})$/',$email) )
return false;
return true;
}
do_formmail();
?>
igarcia... | aasc
| 21/1/10 |
ascascasc
marc_eg | Pues yo tengo algo parecido que no funciona
| 06/2/10 |
Buenas tardes:
Leyendo este articulo me ha venido en la cabeza que yo tengo algo parecido y que no he conseguido que me funcione. Me explicaré adaptando el código a este ejemplo:
Mi objetivo es que los clientes rellenen el formulario que despues puedan comprovar lo que han escrito entes de enviarlo y que pongan el captcha de seguridad. La cuestion es que no consigo que funcione.
Veamos mejor el codigo:
<?php
session_start();
?>
<!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">
<?php
// Si la variable esta vacia muestra el formulario que se autoenvia
if (!$HTTP_POST){
?>
<form action="envia_form_php.php" method=post>
Nombre: <input type=text name="nom" 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>
<?php
// Si esta lleno salta aqui y muestra los valores de las variables y el captcha de verificacion
}else{
?>
<form method="POST">
Has escrito:
Nomgre: <? $HTTP_POST["nom"] ?>
email: <? $HTTP_POST["email"] ?>
comentarios: <? $HTTP_POST["coment"] ?>
<!-- pongo el captcha -->
<div style="width: 430px; float: left; height: 90px" border=1>
<img id="siimage" align="left" style="padding-right: 5px; border: 0" src="securimage_show.php?sid=<?php echo md5(time()) ?>" />
<br />
<a tabindex="-1" style="border-style: none" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = 'securimage_show.php?sid=' + Math.random(); return false"><img src="images/refresh.gif" alt="Canvia la imagen" border="0" onclick="this.blur()" align="bottom" /></a>
</div>
<div style="clear: both"></div>
Codigo:<br />
<input type="text" name="code" size="12" /><br /><br />
<input type="submit" value="Submit Form" />
</form>
<?php
// Ahora verifico el captcha
include("securimage.php");
$img = new Securimage();
$valid = $img->check($_POST['code']);
// Si el captcha es correcto: cargo, envio el mail y doy gracias
if($valid == true) {
echo "<center>Gracias por en envio.<br />Clica <a href="{$_SERVER['PHP_SELF']}">aqui</a> para volver atras.</center>";
$cuerpo = "Formulario enviado
";
$cuerpo .= "Nombre: " . $HTTP_POST["nom"] . "
";
$cuerpo .= "Email: " . $HTTP_POST["email"] . "
";
$cuerpo .= "Comentarios: " . $HTTP_POST["coment"] . "
";
mail("info@dominio.com","Formulario",$cuerpo);
} else {
// Si el captcha es incorrecto: mensajito y para atras
echo "<center>Perdona, no has entrado bien el codigo. Vuelve <a href="javascript:history.go(-1)">atras</a> e intentalo de nuevo.</center>";
}
}
?>
</body>
</html>
Agradeceria una mano experta.
harold1... | enviar formulario php
| 06/3/10 |
esta muy bueno y sencillo codigo del formulario pero tengo un problema lo hice tal cual en tutorial pero utilizo el dreamweaver y al darle vista previa en ie me dice que hay un error de sintasys error9 tengo mi servidor en iespana.
espero se entienda .
gracias
harold1... | enviar formulario php
| 06/3/10 |
hola un saludo para todos y porfa me dicen si esta pagina todavia esta en funcionamiento por qu nunca rsponden mis dudas.
bueno mi pregunta es la siguiente utilizo dreamweaver y al dar vista previa y probar el formulario me sale un mensaje que la pagina aun no ha sido creada.
tengo mi pagina en el host de iespana
nani242... | verificar lo datos
| 19/3/10 |
Hola!! yo tengo el siguiente codigo, me funciona perfecto, pero no puedo validar los datos, sobre todo correo y nombre me podrian ayudar gracias.
<?
if ($HTTP_POST_VARS){
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado
";
$cuerpo .= "Nombre Comercial: " . $HTTP_POST_VARS["nombre"] . "
";
$cuerpo .= "Representarte: " . $HTTP_POST_VARS["representarte"] . "
";
$cuerpo .= "Domicilio Fiscal: " . $HTTP_POST_VARS["domicilio"] . "
";
$cuerpo .= "Colonia: " . $HTTP_POST_VARS["colonia"] . "
";
$cuerpo .= "Telefono: ". $HTTP_POST_VARS["telefono"] . "
";
$cuerpo .= "Sitio Web: ". $HTTP_POST_VARS["web"] . "
";
$cuerpo .= "Nº Personal de Tecnicos: ". $HTTP_POST_VARS["tecnicos"] . "
";
$cuerpo .= "Nº Personal de Ventas: ". $HTTP_POST_VARS["ventas"] . "
";
$cuerpo .= "Nº de Sucursales: ". $HTTP_POST_VARS["sucursales"] . "
";
$cuerpo .= "Giro: ". $HTTP_POST_VARS["giro"] . "
";
//mando el correo...
mail("ventas@yoyo.com.mx","Formulario recibido",$cuerpo);
header("Location: http://www.yoyo.com.mx/sociosbenefician.php");
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente. Nos estaremos comunicando con usted.";
} else {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Registro</title>
</head>
<body background="images/nod.jpg" bgcolor="#ECF8E0" text="#000000" link="#006060" vlink="#006060">
<form action="envia_form_php.php" method=post>
<table align="center" border="0">
<tr>
<td><p align="justify"><span class="subtitle"> </span><br/>
<br/>
<td><p align="justify"><span class="subtitle"><font color="#000000" size="7"><B>Registro de Socios </b></font></span><br/>
<br/>
<table align="center" border="0">
<tr>
<td align="left" width="100">Nombre Fiscal:
</td>
<td align="center" width="150"><INPUT NAME="nombre" MAXLENGTH="25" TYPE="TEXT" VALUE="">
</td>
<tr>
<td align="left" width="100">Nombre Comercial:
</td>
<td align="center" width="150"><INPUT NAME="comercial" MAXLENGTH="25" TYPE="TEXT" VALUE="">
</td>
<tr>
<td align="left" width="100">Representante:
</td>
<td align="center" width="150"><INPUT NAME="representante" MAXLENGTH="25" TYPE="TEXT" VALUE="">
</td>
<tr>
<td align="left" width="100">Domicilio Fiscal:
</td>
<td align="center" width="150"><INPUT NAME="domicilio" MAXLENGTH="25" TYPE="TEXT" VALUE="">
</td>
<tr>
<td align="left" width="100">Colonia:
</td>
<td align="center" width="150"><INPUT NAME="colonia" MAXLENGTH="25" TYPE="TEXT" VALUE="">
</td>
<tr>
<td align="left" width="100">Telefono:
</td>
<td align="center" width="150"><INPUT NAME="telefono" MAXLENGTH="25" TYPE="TEXT" VALUE="">
</td>
<tr>
<td align="left" width="100">Sitio Web:
</td>
<td align="center" width="150"><INPUT NAME="web" MAXLENGTH="25" TYPE="TEXT" VALUE="">
</td>
<tr>
<td align="left" width="100">Nº Personal de Tecnicos:
</td>
<td align="center" width="150"><INPUT NAME="tecnicos" MAXLENGTH="25" TYPE="TEXT" VALUE="">
</td>
<tr>
<td align="left" width="100">Nº Personal de Ventas:
</td>
<td align="center" width="150"><INPUT NAME="ventas" MAXLENGTH="25" TYPE="TEXT" VALUE="">
</td>
<tr>
<td align="left" width="100">Nº Sucursales:
</td>
<td align="center" width="150"><INPUT NAME="sucursales" MAXLENGTH="25" TYPE="TEXT" VALUE="">
</td>
<tr>
<td align="left" width="100">Giro:
</td>
<td align="center" width="150"><INPUT NAME="giro"
MAXLENGTH="25" TYPE="TEXT" VALUE="">
</td>
<tr>
<td align="right" width="150"><INPUT NAME="boton" TYPE="SUBMIT" VALUE="Enviar">
<tr>
</form>
<?
}
?>
</table>
</body>
</html>
Vreni | no funciona mi envio de correo
| 04/5/10 |
hola a todos
una vez que subo este codigo al servidor localhost y oprimo el boton enviar, resulta que no hace absolutamente nada. simplemente que resetea los campos, y ni siquiera me sale el mensaje que se ha enviado correctamente.
O acaso tengo que guardar el codigo en dos archivos diferentes? Espero su ayuda y gracias de antemano
cizte | seleccionar destinatario
| 16/6/10 |
Disculpa yo quisiera que mi formulario tenga la opcion de cambiar la drecciòn de correo dependiendo de que destinatario seleccione el usuario, me podrias decir con que función lo puedo hacer? Gracias :D
marcelo... | Error
| 18/6/10 |
Yo lo hice y me tira este error: que hice mal?
HTTP Error 405.0 - Method Not Allowed
The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used.
Module StaticFileModule
Notification ExecuteRequestHandler
Handler StaticFile
Error Code 0x80070001
Requested URL http://www.maipu.gov.ar:80/prueba2.html
Physical Path \hmfswwebdtcwin087munimaipu.orgpublic_htmlprueba2.html
Logon Method Anonymous
Logon User Anonymous
Aca esta como lo armé:
<?
$asunto = "Aca pone el ASunto del email";
$mensaje = '
<html>
<head>
<title>EL TITULO QUE QUIERAS</title>
</head>
<body>
<p><font size="2" face="Verdana">Nombre: <b>'.$_POST['nombre'].'</b></font></p>
<p><font size="2" face="Verdana">eMail: <b>'.$_POST['mail'].'</b></font></p>
<p><font size="2" face="Verdana">Curso: <b>'.$_POST['curso'].'</b></font></p>
</body>
</html>
';
$email="mandrescastillo@maipu.gov.ar";
$cabeceras = "MIME-Version: 1.0
";
$cabeceras .= "Content-type: text/html; charset=iso-8859-1
";
$cabeceras .= "From: ".$_POST['nombre']." <".$_POST['mail'].">
";
echo '
<center> Gracias por tu consulta </center>
<META HTTP-EQUIV="Refresh" content = "3; URL=../prueba.html">
';
?>
Abimael... | Código para formulario
| 12/7/10 |
Hola, en mi pagina web que tengo implemente el código que pongo mas abajo, pero a la hora de ponerlo a funcionar no pasa nada.
Lleno todo el formulario (contacto.html) y le doy a enviar y me manda a "contacto.php" (asi se llama mi archivo que hice en PHP) la pagina me aparecen en solo en blanco y a la hora de revisar mi correo (???@gmail.com) no hay nada.
¿ Estaré poniendo algo mal? ¿Falta algo por configurar?
< ?php
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];
$header = 'From: ' . $mail . "
";
$header .= "X-Mailer: PHP/" . phpversion() . "
";
$header .= "Mime-Version: 1.0
";
$header .= "Content-Type: text/plain";
$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . "
";
$mensaje .= "Su e-mail es: " . $mail . "
";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . "
";
$mensaje .= "Enviado el " . date('d/m/Y', time());
$para = 'mi correo@sitio.com';
$asunto = 'Contacto desde mi pagina web';
mail($para, $asunto, utf8_decode($mensaje), $header);
echo 'mensaje enviado correctamente';
?>