| 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