¿Por qué no funciona el formulario de mi web?

Visto el interés que tiene mi artículo sobre cómo crear formularios con php, y la gran cantidad de comentarios que me escriben pidiendo ayuda porque no consiguen que funcione, he decidido recopilar en un nuevo artículo los errores más comunes a la hora de incluir un formulario en nuestra web.

Parse error: syntax error, unexpected T_STRING in formulario.php on line 00

Puede deberse a que te falte / sobre una coma (,), comillas (“), punto y coma (;), corchetes ({}), el dolar en una variable ($).. errores de síntaxis en general.
Lo más habitual es que hayas copiado el código y lo hayas pegado en tu página, algunos editores te modifican las comillas a su antojo, revisa que sean las correctas.

The requested URL was not found on this server.

Cuando haces clic sobre el botón enviar del formulario, éste se dirige a la página web que le hayas indicado en el action=”” de la etiqueta de tu formulario <form>.
El problema es que no encuentra esa página, revisa la ruta que le hayas indicado.

Llega el email, pero con los campos que ha rellenado el usuario vacios.

Revisa que el nombre de tus variables coincidan con el name de los campos de tu formulario.

Ej. para recoger el contenido de este input debemos usar esta variable:

<input type="text" name="telefono" />
$_POST['telefono']

Los botones de enviar, no me aparecen cómo botones, sino cómo cuadros de texto.
Esto es porque has colocado código php dentro de un html, si no tienes tu página con extensión .php no se pondrá interpretar, por lo que el formulario no funcionará.

Me aparece el texto de mensaje enviado, sin haberlo enviado.
Este mensaje sólo aparece si se ha enviado correctamente el formulario, si te aparece antes de tocar nada es por que no está interpretando el php, me remito a lo dicho anteriormente, escribe php dentro de archivos con extensión .php

Cosas a tener en cuenta al añadir un formulario a tu web:

– Tu servidor debe permitir php, para saberlo, lo más fácil es que les preguntes (via telefono, email, etc).
– Si trabajas en local, deberás tener instalado XAMP para poder trabajar con php, y un servidor smtp, para poder enviar emails.

Estos son los errores más habituales, o con los que yo más me he topado, espero ahorraros algún que otro dolor de cabeza :)

  • 18 marzo 2009
  • Programación
  • , ,

61 comments on “¿Por qué no funciona el formulario de mi web?”

    1. Hola “hola natali”! xD
      ¿Revisaste los posibles errores que indico en este artículo? ¿Te aparece algun error o es simplemente que no te llega a tu correo?

      Un saludo!!

      1. No me funciona el formulario, si me sale el mensaje de mensaje enviado pero no me llega nada a mi correo por que ya revise los posibles errores pero ninguno es el que tengo.

        Por favor ayuda Saludos

  1. no logro hecer que mi formulario se envie al correo seleccionado sin necesidad de hacerlo a travez de outlook o algun programa similar, agradeceria su colaboracion, ya llevo tiempo intentandolo y ni siquiera con un formulario sencillo lo he logrado

    1. Hola didier!
      ¿Tienes algún enlace para poder ver el formulario? ¿O me puedes contar un poquito que error te indica, o si no te lo indica, cómo lo has programado, etc? Algo que me sirva para hacerme una idea de por qué no te funciona :)
      Un saludo y ánimo que ya verás como lo consigues!

    1. ¿Por qué se puede ver el código php de tu archivo? Se supone que trabaja del lado del servidor y no es visible.. ¿Admite php tu servidor?

      Salvo dos o tres cosillas cómo pueden ser que te faltase el = en la etiqueta del form, o asignar el input a los label con el for, veo todo bien, y esto que te he comentado no debería de interferir a la hora de actuar el php.
      <form id=”contacto” name=“contacto” method=”post” action=”send.php”>
      <p><label for=”nombre”>Nombre</label> <input name=”nombre” type=”text” id=”nombre” size=”30″/></p>

      Mira lo del servidor y si no es por eso ya le hechamos otro vistacillo, vale? :) Un saludo!

  2. Cordial saludo
    Nnatali

    el presente mensaje es para solicitarte tu colaboracion
    con el tema de envio de un formulario por mail..sin usar el outlook

    no se si me puedas colaborar enviando un codigo que funcione para dreamweaver asi sea lo mas sencillo.
    nombre, telefono comentario.–
    de verdad te lo agradezco inmensamente!

  3. Hola quisiera contarte mi problema para que me orientes.
    Tengo un blog wordpress 2.7 y deseo colocar un formulario para que los usuarios coloquen comentarios, exactamente como lo hago en este momento en tu blog, pero no he logrado insertarlo o activar las funciones o no se que hacer, ya me mareo de tants información que he leído algunas buenas otras quizas no. Pero en ninguno dice como hacer para colocar el formulario en la entrada o en una pagina. Coloque cform pero al parecer el pluging es solo para contacto y ese formulario ya lo tengo funcionando en mi blog. Gracias por tu orientación

    1. Hola Esther!
      El formulario que dices, no te aparece porque tienes los comentarios de los artículos cerrados, para que no puedan comentar. Para permitirlo tienes que activarlo en la misma página en la que creas/editas los artículos, debajo del campo para escribir el texto te debe aparecer un checkbox que ponga: Permitir comentarios en esta entrada, debes de tenerlo activo :)
      Si no lo consigues avisame y vemos que versión tienes de wordpress y demás, suerte!!

  4. Disculpa se fue sin completar.
    Decia Nnatali que gracias por responder a mi inquietud, los checkbox estan activados, sin embargo no aparec el formularios. Revisa en mi blog la pagina de Estadistica, en ese articulo quiero que los visitantes me dejen comentarios, la version de wordpress es 2.7.
    Gracias nuevamente

  5. Hola nnatali, despues de muchas busquedas encontre un super archivo en pdf que muestras varias instrucciones de php y encontre que ql ingresar esta linea despues del articulo de mi pagina, aparece el formulario para comentario, funciona perfecto.
    Ahora me gustaria que me orientaras en la apariencia de mis comentarios, es decir, quiero resaltarlos de colores como los tienes en tu blog.
    Gracias

  6. hola necesitaba ayuda con mi pagina web empece ene esto hace poquito y no me sakle el formulario intenet y no hay forma de hacer que funcione si alguien me puede ayudar y fijarse ahi deje mi pagina web, gracias

  7. he realizado un formulario, pero al momento de enviar los datos aparecen 2 cuadros de texto.

    el primero dice: “este formulario se esta enviando por correo electrónico. el envío de este formulario revelará su dirección de correo electrónico, y no cifrara la informacion del formulario como medida de privacidad”

    el segundo dice: “un programa esta intentando enviar correo electronico automaticamente en su nombre, ¿desea permitirlo?
    si esto es inesperado puede que se un virus y deberia elegir “no”

    estas frases obligan a no continuar con el envio del formulario

    como puedo evitar que salgan estos mensajes?, existe algun codigo?

  8. hola nnatali sabes puse mi formulario en contactame en otra pagina y en una entrada y de ningun modo me deja que ni yo ni mis lectores puedan escribirme porfavor me puedes ayudar si necesitas el codigo del formulario te lo puedo dar de ante mano muchas gracias

  9. hola a todos, quisiera obtener ayuda, tengo mi formulario subido a:
    http://pruevaformulario.webcindario.com/formulario.htm

    el asunto es que a la hora de enviar el formulario, me envia el siguiente mensaje:

    Warning: mail() has been disabled for security reasons in /home/webcindario/p/r/pruevaformulario/enviar.php on line 18

    ya revise el archivo enviar.php pero no se que hacerle para que funcione y me envie el correo, a continuacion pongo el codigo del formulario y de enviar.php:

    CODIGO DE FORMULARIO.

    Apellidos

    <form method="POST" action="enviar.php"
    Apellidos:
    Nombre:
    Correo:
    Comentario:

    CODIGO DEL enviar.php:

    si alguien me dice como puedo solucionar el problema, se los agradeceria.
    saludos:

    CORREO: jonathandeleonc@hotmail.com

  10. Hola compañeros. Tengo un aplicativo dearrollado en PHP y interactua con bases de datos Mysql. El problema es que cuando lo puse a funcionar en un hosting, no me inserta datos de un formulario que tengo en, mediante el cual los usuarios deben registrarsen.
    Cuando oprimo en boton de enviar, solamente se desaparecen los datos, pero no me muestra el mensaje de ‘Registro enviado’ y tampoco llegan los datos a la base de datos.
    Ya revise la conexion al servidor, las variables, permisos de usuario, etc, Pero no funciona, Lo peor es que en local funciona correctamente.

    Pueden ver el formulario en esta direccion: http://www.diacomtecnologia.com/nelson/SIEL/usuarios.php

    Aqui dejo un poco de codigo para mostrar la forma de como estoy insertando los datos:

    0|$loginusu_exist>0) {
    echo ‘El nombre de usuario ya existe’;
    }else{
    $sql=”insert into usuarios (nombres,apellidos,cod_doc,numdoc,depexp,ciuexp,genero,email,telefono,departamento,ciudad,direccion,
    barrio,estado,loginusu,passwordusu)
    values(‘$nombres’,’$apellidos’,’$pro’,’$numdoc’,’$depexp’,’$ciuexp’,’$genero’,’$email’,’$telefono’,’$departamento’,’$ciudad’,’$direccion’,’$barrio’,’$estado’,’$loginusu’,’$passwordusu’)”;
    if ($result=mysql_query ($sql,$link)){
    echo ‘ alert(“El usuario ‘.$loginusu.’ ha sido registrado de manera satisfactoria. Ahora puede acceder ingresando su Login y su password”);document.location=(“solicitudes.php”);’;
    }
    }
    }
    ?>

  11. Hola:

    Hace tiempo leo su blog que es muy interesante e instructivo es mas es un blog que he recomendado en un curso que estamos haciendo a todos mis compañeros de curso de CSS.

    No me gusta abusar de su confianza pero llevo poco tiempo en el mundo del JQUERY y aunque he instalado algunas galerias y demas es la primera vez que hago un formulario con JQUERY, etc en concreto este

    http://www.ajaxshake.com/es/JS/232640/usar-etiquetas-como-valores-en-campos-de-textos-o-areas-de-texto-label2value.html

    Pero no encuentro la forma de meterle en el codigo el email al que debe enviarse , no se tampoco donde se pueden encontrar foros en hispano para consultar tales cuestiones , etc y no se si usted pudiera ayudarme,

    Un saludo

  12. Hola!! tengo un problema resulta que hago perfectamente mi formulario con la direcciones exactas no falle ni un punto y una coma, el problema esque Jamas se mira la tabla con el Nick, Password, email,nombres. si quieren rebisar vayan aqui: http://www.hugoarmas.com/registros.php tengo 2 semanas pensando los probables problemas que este puede tener pero no sale ningun inche error.

    Espero su respues saludos

  13. hola nnatali, probe tu codigo, la priemra vez me funciono, envio el correo, la segunda vez que lo probee en la misma pagina solo me muestra el texto de “Mensaje enviado”, pero no me llega nada a mi correo, me podrias ayudar , por Favor

  14. Hola! probe tu formulario y al enviarlo me sale el siguiente mensaje:
    “Warning: mail() [function.mail]: SMTP server response: 554 No se permite el envio de correo sin especificar una cuenta valida desde donde sale el correo. in \\hmfsw\web\DTCWIN118\ideasyvision.com.ar\public_html\consulta.php on line 50

    Mensaje enviado.”
    No se cual es el motivo, podrias ayudarme? Gracias.

  15. hola que use el codigo del formulario en dreamwearver no me da ningun error, ahora el problema es q no me llega ningun correo al email que puse, cual podria ser el problema, no se mucho de lenguajes…! help! y gracias

  16. Iba a preguntar lo mismo que josh, me pasa exactamente igual, así que estaré pendiente de la respuesta. De paso aprovecho para darte las gracias por lo que compartes, hasta pronto!

  17. hola natali vi tu blog y me parecio muy interesante estoy tratando de hacer que la informacion de un formulario me llegue a mi correo pero nada he seguido todos tus pasos pero nada aun.. no entiendo muy bien lo del codigo php donde lo hago como uno el html con este.. mira esta es mi pagina la q quiero tratar de hacer bien el formulario porfa si puedes revisalña y ayudame
    http://galeon.com/style69/amor/costumbre.html

  18. como puedo probar este formulario en mi equipo local si no tengo o no soporta php como le hago pegue el codigo en dreamweaver y ahi pulso f12 para visualizar la pagina en mi navegador solo carga pero no me muestra nada en pantalla

  19. Hola, tengo un problema a la hora de usar tu codigo.
    El caso es que lo hace todo bien, pero al pinchar en enviar me sale una pantalla de facebook que dice “Lo sentimos, tu petición no puede ser procesada

    Por favor inténtalo de nuevo.”
    te mando el codigo que uso en el static FBML:

    <form action="” method=”post”>

    Nombre:

    Email:

    Asunto:

    Mensaje:

    Mensaje enviado.

    Espero puedas ayudarme.
    Muchas gracias

  20. Hola, tengo dos formularios con el mismo problema, si puedes revisarlos te lo agradecere ya que hace dias que no puedo encontrar la solución.

    Al querer modificar el archivo fronmail.cgi parece que algo paso pero no puedo darme cuenta que es.

    Cuando intento cargar el archivo en asci, no lo carga, solo me deja cargarlo en binario. Lo peor es que estaba funcionando y quise clonar un formulario para otra pagina y se desajusto toda.

    Las direcciones:
    http://www.alternativaeducativa.com/contacto_02.html

    http://www.todoparadocente.com.ar/autos.html

    agradecido de antemano.

  21. HOLA NATALI
    PROBE TU FUNCIONARIO Y ESTA ECXELENTE PERO CUANDO ESCRIBO LOS DATOS PARA ENVIAR EL CORREO ME SALE ESTE ERROR

    You don’t have permission to access /construnorteltda/< on this server.

    ME PODRIAS AYUDAR EN ESTO

  22. Tengo el mismo problema que los josh, muntxeta y Danna….y desde hace casi un año que aqui no comenta nadie.

    Estoy jodido….jaja

    Muchas gracias por lo que compartes, nnatali, y enhorabuena por el blog =)

  23. He colocado el formulario recomienda esta web a tu amigo, lo he puesto en mi pagina web y luego de darle enviar me sale que se envio correctamente, pero al revisar la pagina a la que supuestamente lo recomiendo no aparece el mensaje en la bandeja, me pueden ayudar por favor

  24. buenas, tengo un problema con mi formulario y es que cuando le das a enviar te sale:
    HTTP Status 403 – No session supplied

    type Status report

    message No session supplied

    description Access to the specified resource (No session supplied) has been forbidden.
    Apache Tomcat/5.5.16

  25. ola porfabor ayudame no me bota error, hago click en el boton enviar y hace como si hubiera enviado pero no me llega nada a mi correo a tambien no sale el mensaje de enviado.. porque no me llega ami correo si supuestmnte no me bota error ..porfa ayudame

  26. Hola.
    Gracias de antemano por tu amabilidad.
    Quizas podrias ayudarme; tengo un Theme de wordpress en local con XAMP para probarlo y no consigo que funcionen los formularios ni de contacto ni de reservas, me podrías dar una pista de que podría ser please.
    Gracias y un saludo.

  27. Hola, use el formulario y al llenar los datos y darle click en enviar me aparece el mensaje de que se ha enviado, pero no llega ningún correo al mail ¿que podria ser? lo he intentado en dos servidores ambos con php y ninguno funciona, la liga del formulario es la siguiente:

    http://www.gobusiness.mx/mail2.php

    Lo tengo sin formato ni nada solo para checar que funcione, el codigo php es el siguiente:

    <form action="” method=”post”>

    Nombre:

    Teléfono:

    Email:

    Mensaje:

    Mensaje enviado.

  28. He revisado varias paginas en google respecto de este tema y no logro que funcione. Cuando hago click en Enviar me muestra directamente el archivo send.php y nada más. Donde crees q está mi error?.

  29. Hola a todos.
    Necesito orientación sobre formularios en PHP, tengo un problema para llamar los campos del formulario para enviar por correo, cuando le presiono el botón enviar, en el correo me salen los campos en blanco, yo utilizo $_POST[“email”];

    Me pueden ayudar

    Gracias

  30. Hola, me ocurre lo mismo, mi formulario no envía datos, al darle al botón enviar me salta el mensaje de “datos enviados” pero al correo no llega nada, antes de colocarlo en mi página, lo probé en un servidor de prueba y funciono perfecto, cuando lo mude a la página correcta dejo de funcionar.
    Ayuda por favor ! mil gracias.

  31. hola natti aqui carlos de madrid,
    mira mi prefgunta es,
    he puesto dentro de mi pag web,un codigo facil de html,para formularios, y seguido debajo,
    el codigo php, en el item .action he puesto que se dirija a mi correo ,pjarret54@gmail.com.
    mira no se como va,1ª estos codigos se pegan y ya esta, ?o hay k rellenar algo dentro,?
    ‘2ª en la cabesera del documento html debe ponerse algo,me sospecho que necesita
    algo en link rel= stylesheet= text/css= media=
    perdon pero recien empiezo!!!
    3ª al enviar me da como respueesta “firefox no encuentra //file/togiroacura/ web43html/test1/content/enviar.

    bueno gracias miles gy gracias por tu tiempo,y dedicacion.gracias carlos.

  32. hola
    creo que tengo el mismo problema que la mayoría de los comentarios ya que tengo mi formulario bien echo y como he visto en la mayoría de códigos php creo que el mio no le falta nada o al menos comparado con los que veo en la web no. entonces quiero saber porque si todo el código esta bien porque no me llega al correo que coloque me gustaría saber apreciaría mucho una respuesta rapida
    muchas gracias

  33. Hola y enorabuena por tus post, Tengo una duda sobre el formulario web. Si copio y pego el php que pones en la web los campos no salen organizados, te explico nombre, telefono y demas datos salon uno delante de otro en horizontal y no en vertical.
    He mirado por tu web y no encuentro donde puede estar para modificar los codigos y poder colocarlos en orden.
    Si puedes me contestas pronto ya que me urge, un saludo.
    Alfonso

  34. mi formulario de contacto manda el correo, pero al darle clik al botón no me aparece la pagina de gracias.html. que cree para dar aviso de que se enviaron los datos, el formulario corre por un archivo php secundario te lo puedo mandar?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *