comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO] Problema con pagina de contacto (Llenar formulario)

  • 9 Respuestas
  • 2861 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Rampe

  • *
  • Underc0der
  • Mensajes: 11
  • Actividad:
    0%
  • Reputación 0
  • Digitalizando un nuevo mundo :D
    • Ver Perfil
    • Bomber Code ~ La nueva era del conocimiento
  • Twitter: Bomber_Code
« en: Octubre 06, 2013, 09:23:37 pm »
Buenas tardes underc0de ^_^ ah pasado un tiempo de haberme registrado y me he puesto a leer bastante mas últimamente lo de de PHP y pensé armar algo sencillo algo como un libro de visitas o un contacto... arme el diseño sencillo (cuadros y demás detalles)... Todo bien hasta me tope con el tema de al completar el formulario como recibir ese mensaje investigue bastante y encontré esto:

Código: PHP
  1. <?php
  2.           // Set-up these 3 parameters
  3.           // 1. Enter the email address you would like the enquiry sent to
  4.           // 2. Enter the subject of the email you will receive, when someone contacts you
  5.           // 3. Enter the text that you would like the user to see once they submit the contact form
  6.           $to = ' ';
  7.           $subject = ' ';
  8.           $contact_submitted = 'Tu mensaje ha sido enviado.';
  9.  
  10.           // Do not amend anything below here, unless you know PHP
  11.           function email_is_valid($email) {
  12.             return preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i',$email);
  13.           }
  14.           if (!email_is_valid($to)) {
  15.             echo '<p style="color: red;">Usted debe poner una direccion de correo valido para que funcione esta página.</p>';
  16.           }
  17.           if (isset($_POST['contact_submitted'])) {
  18.             $return = "\r";
  19.             $youremail = trim(htmlspecialchars($_POST['your_email']));
  20.             $yourname = stripslashes(strip_tags($_POST['your_name']));
  21.             $yourmessage = stripslashes(strip_tags($_POST['your_message']));
  22.             $contact_name = "Name: ".$yourname;
  23.             $message_text = "Message: ".$yourmessage;
  24.             $user_answer = trim(htmlspecialchars($_POST['user_answer']));
  25.             $answer = trim(htmlspecialchars($_POST['answer']));
  26.             $message = $contact_name . $return . $message_text;
  27.             $headers = "From: ".$youremail;
  28.             if (email_is_valid($youremail) && !eregi("\r",$youremail) && !eregi("\n",$youremail) && $yourname != "" && $yourmessage != "" && substr(md5($user_answer),5,10) === $answer) {
  29.               mail($to,$subject,$message,$headers);
  30.               $yourname = '';
  31.               $youremail = '';
  32.               $yourmessage = '';
  33.               echo '<p style="color: blue;">'.$contact_submitted.'</p>';
  34.             }
  35.             else echo '<p style="color: red;">Por favor, introduzca su nombre, una dirección de correo electrónico válida, el mensaje y la respuesta a la simple pregunta matemática antes de enviar el mensaje.</p>';
  36.           }
  37.           $number_1 = rand(1, 9);
  38.           $number_2 = rand(1, 9);
  39.           $answer = substr(md5($number_1+$number_2),5,10);
  40.         ?>

He probado bastante jugado :D con el código pero no logro hacerlo funcionar :/ correctamente osea envía el mensaje pero no lo recibo en el correo :/ pensé funcionaba de otra forma sin embargo luego de investigar un tiempo no logro encontrar mi error :( por eso necesitaría una guía o como salir de este problema :)

Espero haberme explicado bien aveces me lió un poco con mis explicaciones xD
« Última modificación: Octubre 25, 2013, 01:18:11 pm por Expermicid »

Conectado DeBobiPro

  • *
  • Underc0der
  • Mensajes: 211
  • Actividad:
    3.33%
  • Reputación 2
  • Como no sabía que era imposible, lo hice.
    • Ver Perfil
« Respuesta #1 en: Octubre 06, 2013, 11:13:07 pm »
tienes que habilitar SMTP en tu servidor local así: http://www.red-atlantic.com/TXT/ARTICULOS/smtp_19_11_2002.html

espero sea eso, avísame cualquier cosa

saludos!
Nivel 77 TERCER OJO

Desconectado Xt3mP

  • *
  • Underc0der
  • Mensajes: 432
  • Actividad:
    0%
  • Reputación 0
  • Ellos me están buscando, pero yo los encontraré.
    • MSN Messenger - Xt3mP@h4x0rz.us
    • AOL Instant Messenger - Xt3mP@h4x0rz.us
    • Yahoo Instant Messenger - Xt3mP@h4x0rz.us
    • Ver Perfil
    • Xt3mP
« Respuesta #2 en: Octubre 07, 2013, 12:27:39 pm »
¿Estás corriendo el script en tu servidor local, en algún Hosting o un VPS?. Todo varia dependiendo y a continuación de explico un poco:

Si lo estas corriendo desde localhost y no te envia los correos es probable {como ya te comento jx4nk00} que no tengas ó instalado un servidor SMTP ó éste mal configurado; para ésto te recomiendo la clase PHPMailer la cual a base de credenciales de un correo (en éste caso gmail generalmente) te envía correctamente, lo único que deberás hacer es modificar el archivo php.ini y cambiar ;extension=php_openssl.dll por extension=php_openssl.dll.

Si lo estas corriendo desde un hosting o un vps, checa que SMTP igual, que no este en black list o saturado; de igual manera PHPMailer es una buena alternativa.

Con poca información al respecto, por mi parte es todo.

Saludos,
Xt3mP.
Cada vez que me das Karma me motivas

Desconectado Rampe

  • *
  • Underc0der
  • Mensajes: 11
  • Actividad:
    0%
  • Reputación 0
  • Digitalizando un nuevo mundo :D
    • Ver Perfil
    • Bomber Code ~ La nueva era del conocimiento
  • Twitter: Bomber_Code
« Respuesta #3 en: Octubre 07, 2013, 04:42:49 pm »
tienes que habilitar SMTP en tu servidor local así: http://www.red-atlantic.com/TXT/ARTICULOS/smtp_19_11_2002.html

espero sea eso, avísame cualquier cosa

saludos!

Muchas gracias :D me servirá mucho :)

¿Estás corriendo el script en tu servidor local, en algún Hosting o un VPS?. Todo varia dependiendo y a continuación de explico un poco:

Si lo estas corriendo desde localhost y no te envia los correos es probable {como ya te comento jx4nk00} que no tengas ó instalado un servidor SMTP ó éste mal configurado; para ésto te recomiendo la clase PHPMailer la cual a base de credenciales de un correo (en éste caso gmail generalmente) te envía correctamente, lo único que deberás hacer es modificar el archivo php.ini y cambiar ;extension=php_openssl.dll por extension=php_openssl.dll.

Si lo estas corriendo desde un hosting o un vps, checa que SMTP igual, que no este en black list o saturado; de igual manera PHPMailer es una buena alternativa.

Con poca información al respecto, por mi parte es todo.

Saludos,
Xt3mP.

Lo ando corriendo en localhost, lo de PHPMailer lo probé pero nunca pude configurarlo correctamente :( por eso lo deje supongo lo tengo que volver a tocar...

Sin embargo evaluándolo un poco seguro en hosting gratuitos no funcionara, así que debería pensar en configurarlo en uno pago... en ese caso ¿Cómo debería ponerlo en código?como debería ponerlo (teniendo ya los datos del STMP)

SMTP server: ssl://smtp.gmail.com
SMTP port: 465
SMTP username: xxxx@xxxx.com <-- reemplazalo con tu cuenta de gmail y la password.

Investigando un poco conseguí estos datos, ¿Cómo debería usarlos?... Lo de php.ini ya lo revisare hablando de los mismo al activar lo de las url´s cuando lo dejo y vuelvo abrirlo me aparece error :S ¿Que debería cambiar exactamente para no me pase esto? o ¿Debido a que me pasa?

Saludos!

PD: Muchas gracias por las ayudas :) me sirven un montón aunque me falta aprender mas aun :/

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #4 en: Octubre 07, 2013, 06:14:25 pm »
tienes que habilitar SMTP en tu servidor local así: http://www.red-atlantic.com/TXT/ARTICULOS/smtp_19_11_2002.html

espero sea eso, avísame cualquier cosa

saludos!

Muchas gracias :D me servirá mucho :)

¿Estás corriendo el script en tu servidor local, en algún Hosting o un VPS?. Todo varia dependiendo y a continuación de explico un poco:

Si lo estas corriendo desde localhost y no te envia los correos es probable {como ya te comento jx4nk00} que no tengas ó instalado un servidor SMTP ó éste mal configurado; para ésto te recomiendo la clase PHPMailer la cual a base de credenciales de un correo (en éste caso gmail generalmente) te envía correctamente, lo único que deberás hacer es modificar el archivo php.ini y cambiar ;extension=php_openssl.dll por extension=php_openssl.dll.

Si lo estas corriendo desde un hosting o un vps, checa que SMTP igual, que no este en black list o saturado; de igual manera PHPMailer es una buena alternativa.

Con poca información al respecto, por mi parte es todo.

Saludos,
Xt3mP.

Lo ando corriendo en localhost, lo de PHPMailer lo probé pero nunca pude configurarlo correctamente :( por eso lo deje supongo lo tengo que volver a tocar...

Sin embargo evaluándolo un poco seguro en hosting gratuitos no funcionara, así que debería pensar en configurarlo en uno pago... en ese caso ¿Cómo debería ponerlo en código?como debería ponerlo (teniendo ya los datos del STMP)

SMTP server: ssl://smtp.gmail.com
SMTP port: 465
SMTP username: xxxx@xxxx.com <-- reemplazalo con tu cuenta de gmail y la password.

Investigando un poco conseguí estos datos, ¿Cómo debería usarlos?... Lo de php.ini ya lo revisare hablando de los mismo al activar lo de las url´s cuando lo dejo y vuelvo abrirlo me aparece error :S ¿Que debería cambiar exactamente para no me pase esto? o ¿Debido a que me pasa?

Saludos!

PD: Muchas gracias por las ayudas :) me sirven un montón aunque me falta aprender mas aun :/

tu código actual, es un desastre, desconozco de donde lo haz sacado pero tendrás que usar otro.

usa funciones que están obsoletas tales como eregi http://ar2.php.net/manual/es/function.eregi.php

también revisas que el mail esté bien en una variable vacía, cosa que siempre dará mal.

y esto para empezar jejeje, no te lo tomes a mal, pero busca otro código

Respecto a tu problema, si usas xampp sobre windows no te funcionará nunca la función mail (por lo menos no con la configuración por default)

La documentación oficial sobre la función Mail:
http://ar2.php.net/manual/es/function.mail.php

de todos modos, deberías probar como dice xtemp con la clase PHPMailer, no vi mucha gente que tenga problemas con ella.

SMTP server: ssl://smtp.gmail.com
SMTP port: 465
SMTP username: xxxx@xxxx.com <-- reemplazalo con tu cuenta de gmail y la password.

eso es el servidor de google, si usaras SMTP, no obstante tu usas directamente mail, por lo que eso no te sirve, si usaras phpmailer si te sirve xD

un saludo, y no te tomes a mal mi coment, va con toda la buena onda y para que mejores :)

Desconectado Rampe

  • *
  • Underc0der
  • Mensajes: 11
  • Actividad:
    0%
  • Reputación 0
  • Digitalizando un nuevo mundo :D
    • Ver Perfil
    • Bomber Code ~ La nueva era del conocimiento
  • Twitter: Bomber_Code
« Respuesta #5 en: Octubre 07, 2013, 07:13:01 pm »
tu código actual, es un desastre, desconozco de donde lo haz sacado pero tendrás que usar otro.

usa funciones que están obsoletas tales como eregi http://ar2.php.net/manual/es/function.eregi.php

también revisas que el mail esté bien en una variable vacía, cosa que siempre dará mal.

y esto para empezar jejeje, no te lo tomes a mal, pero busca otro código

Respecto a tu problema, si usas xampp sobre windows no te funcionará nunca la función mail (por lo menos no con la configuración por default)

La documentación oficial sobre la función Mail:
http://ar2.php.net/manual/es/function.mail.php

de todos modos, deberías probar como dice xtemp con la clase PHPMailer, no vi mucha gente que tenga problemas con ella.

SMTP server: ssl://smtp.gmail.com
SMTP port: 465
SMTP username: xxxx@xxxx.com <-- reemplazalo con tu cuenta de gmail y la password.

eso es el servidor de google, si usaras SMTP, no obstante tu usas directamente mail, por lo que eso no te sirve, si usaras phpmailer si te sirve xD

un saludo, y no te tomes a mal mi coment, va con toda la buena onda y para que mejores :)

:D todo bien por eso comente :) para ver mis horrores xD mis errores... cual otro código me recomendarías :S no soy tan bueno buscando aunque trato aprender ;D... el phpmailer lo había probado en un hosting y no podía hacerlo andar desde hay me puse a tratar de aprender PHP mejor... No uso xampp he escuchado sobre el pero me decidí usar wamp.

Muchas gracias en verdad :D alexmanycol me sirvió mucho tu comentario :) pase mucho tiempo y no veia el problema :( de por que no andaba y ahora se que me debo actualizar mas ;)

[Como me dicen aveces de los errores se aprende mas que no tener ninguno o algo así xD]


Saludos!

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #6 en: Octubre 08, 2013, 12:26:46 am »
la funcion mail anda y no es muy complicada fijate busca ejemplos simples o en el link q te pase, en lo q respecta a configuracion es muy parecido xampp a wampp.

saludos

Desconectado WHK

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 3
  • 吴阿卡
    • Ver Perfil
    • WHK
« Respuesta #7 en: Octubre 08, 2013, 09:17:17 am »
nunca me gustó phpmailer, siempre tiene problemas de alguna forma... yo prefiero usar la función mail() nativa de php, recuerda habilitar los mensajes de errores de php y sabrás que sucede, si tienes algún problema con el servidor de correos entonces debería acusar php en algún warning o error fatal.

Desconectado Rampe

  • *
  • Underc0der
  • Mensajes: 11
  • Actividad:
    0%
  • Reputación 0
  • Digitalizando un nuevo mundo :D
    • Ver Perfil
    • Bomber Code ~ La nueva era del conocimiento
  • Twitter: Bomber_Code
« Respuesta #8 en: Octubre 08, 2013, 10:24:27 am »
nunca me gustó phpmailer, siempre tiene problemas de alguna forma... yo prefiero usar la función mail() nativa de php, recuerda habilitar los mensajes de errores de php y sabrás que sucede, si tienes algún problema con el servidor de correos entonces debería acusar php en algún warning o error fatal.

Si por eso no me gusta también prefiero PHP pero con el trabajo no me deja mucho tiempo para estudiarlo adecuadamente por eso digamos voy aprendiendo sobre la marcha... lo de wamp cuando ande en mi casa lo probare mientras veo si el código lo limpio y actualizo... llegue a esto aunque como quiero agregarlo en mitad un archivo html no ando seguro como ira:

Código: PHP
  1. <?php
  2. if(isset($_POST['email'])) {
  3.  
  4. $email_to = "no-reply@miweb.com";
  5. $email_subject = "Contacto";
  6.  
  7. if(!isset($_POST['first_name']) ||
  8. !isset($_POST['email']) ||
  9. !isset($_POST['comments'])) {
  10.  
  11. echo "<b>Ocurrió un error y el formulario no ha sido enviado. </b><br />";
  12. echo "Por favor, vuelva atrás y verifique la información ingresada<br />";
  13. die();
  14. }
  15.  
  16. $email_message = "Detalles del formulario de contacto:\n\n";
  17. $email_message .= "Nombre: " . $_POST['first_name'] . "\n";
  18. $email_message .= "E-mail: " . $_POST['email'] . "\n";
  19. $email_message .= "Comentarios: " . $_POST['comments'] . "\n\n";
  20.  
  21. $headers = 'From: '.$email_from."\r\n".
  22. 'Reply-To: '.$email_from."\r\n" .
  23. 'X-Mailer: PHP/' . phpversion();
  24. @mail($email_to, $email_subject, $email_message, $headers);
  25.  
  26. echo "¡El formulario se ha enviado con éxito!";
  27. }
  28. ?>

Pensé era medianamente sencillo pero es un poco mas complejo de lo esperado a mi nivel por eso tengo muchas lagunas y no comprendo mucho... por eso muchas gracias por explicarme y guiarme un poco en esto ^_^ ademas espero también comprendan mis horrores errores de código!


Saludos!
« Última modificación: Octubre 08, 2013, 10:26:30 am por Rampe »

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #9 en: Octubre 08, 2013, 12:21:32 pm »
Es importante Rampe, que empiezes a hacer las cosas bien, en la programación hay dos caminos, el camino fácil y el camino dificil, en realidad no es tan así, el camino dificil no es que sea dificil sino más bien que te llevará un poco más de tiempo y siempre está el camino fácil que te atrae.

Es importante que empiezes a pensar en separar cosas como el html del código php, en archivos diferentes, ¿por qué? porque si tienes las cosas separadas y ordenadas tu código será más limpio y ordenado.
Además es necesario que empiezes a indentar por ejemplo, para que tu código sea más entendible.

Lo malo de php es que hay mucha gente que dice saber mucho y hace cosas horrorosas.

Y como decía en un libro, en la programación no hay balas de plata (que maten a los vampiros chupasangres, que son esos códigos horrorosos jajaja)

El hecho es que tienes dos cosas que aprender por paralelo (que en realidad van por la misma linea)

Primero a hacer un buen código, con buena estructura, ordenado y limpio.

Segundo a aprender a programar.

Volviendo al tema del post, la función mail anda bien, quizá no en localhost si no lo configuras bien, pero en servidores la gran mayoría si.

saludos!

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 8455
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 2306
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 1721
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 3221
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 3576
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon