Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Giankaa en 26 Septiembre 2015, 08:40 am



Título: Envío de formulario por php
Publicado por: Giankaa en 26 Septiembre 2015, 08:40 am
Hola, estaba creando un formulario y quería que los datos se envíen al correo pero no sé que sucede y no me funciona, he intentado de todo pero no he podido, espero su ayuda. Este es el formulario:

Código HTML:
Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html lang="es-Es" xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
  4. <title>Registro</title>
  5. <link href='http://fonts.googleapis.com/css?family=Rock+Salt' rel='stylesheet' type='text/css'>
  6. <link href='http://fonts.googleapis.com/css?family=Indie+Flower' rel='stylesheet' type='text/css'>
  7. <link href='http://fonts.googleapis.com/css?family=Reenie+Beanie' rel='stylesheet' type='text/css'>
  8. <style type="text/css">
  9.  
  10.    body {
  11.        background:url(fondo.jpg) no-repeat fixed center;
  12.        background-position:center;
  13.    }
  14.    form {
  15.        background:#333333;
  16.        width:360px;
  17.        border:1px solid #4e4d4d;
  18.        border-radius:3px;
  19.        -moz-border-radius:3px;
  20.        -webkit-border-radius:3px;
  21.        margin:100px auto;
  22.    }
  23.    form h1 {
  24.        text-align: center;
  25.        color: #ffffff;
  26.        font-weight:black;
  27.        font-size:18pt;
  28.        margin-left: 0px;
  29.        margin-right: 30px;
  30.        margin-top: 15px;
  31.        margin-bottom: -40px;
  32.        font-family: 'Rock Salt', cursive;
  33.    }
  34.    form input{
  35.        width:280px;
  36.        height:35px;
  37.        padding:0px 10px;
  38.        color:#6d6d6d;
  39.        margin-top:10px;
  40.        margin-bottom:5px;
  41.        font-family: 'Reenie Beanie', cursive;
  42.        font-size: 17pt;
  43.    }
  44.    form label{
  45.        width:280px;
  46.        height:35px;
  47.        padding:0px 0px;
  48.        color:#ffffff;
  49.        text-align:center;
  50.        font-family: 'Indie Flower', cursive;
  51.    }
  52.    form button{
  53.        width: 135px;
  54.        margin-top:5px;
  55.        height:50px;
  56.        border:1px solid #232323;
  57.        color: %fff;
  58.        box-shadow: 0px 2px 0px #000;
  59.        -moz-box-shadow: 0px 2px 0px #000;
  60.        -webkit-box-shadow: 0px 2px 0px #000;
  61.        border-radius: 3px;
  62.        -moz.border-radius: 3px;
  63.        -webkit-border-radius: 3px;
  64.    }
  65.    form button:hover{
  66.        background:#B2B2B2;
  67.    }
  68.    form button:active{
  69.        background: #F9F9F9;
  70.    }
  71. </head>
  72.  
  73. <form method="post" action="miformu.php">
  74.    <ul>      
  75.            <h1><b> Registrese para mantenerse en contacto con nosotros</b><br /></h1><br />
  76.  
  77.       <br />
  78.           <label for="name">Primer nombre:</label>
  79.           <input type="text" name="nombre" placeholder="Ejm: Giancarlo" required />
  80.  
  81.       <br />
  82.           <label for="name">Segundo nombre:</label>
  83.           <input type="text" name="nombredos" placeholder="(Opcional)" />
  84.  
  85.       <br />
  86.           <label for="text">Apellidos:</label>
  87.           <input type="text" name="apellidos" placeholder="Ejm: Rosero Portillo" required />
  88.  
  89.       <br />
  90.           <label for="date">Fecha de nacimiento:</label>
  91.           <input type="date" name="nacimiento" name="nacimiento" required />
  92.  
  93.       <br />
  94.           <label for="email">Email:</label>
  95.       <br />
  96.           <input type="email" name="email" placeholder="Ejm: giancarlo@ejemplo.com" required />
  97.  
  98.       <br />
  99.           <label for="name">Ingrese un nombre de usuario:</label>
  100.           <input type="text" name="usuario" placeholder="Nombre de usuario" required />
  101.  
  102.       <br />
  103.           <label for="name">Ingrese una contraseña:</label>
  104.           <input type="password" name="clave" required />            
  105.  
  106.       <br />
  107.           <label for="Mensaje">Mensaje:</label> <br />
  108.           <textarea name="Mensaje" name="opinion" placeholder="Escribenos tu opinión:" cols="40" rows="6"></textarea>
  109.  
  110.        <br />
  111.          <input type="submit" value="enviar" id="boton">
  112.  
  113.    </ul>
  114. </form>
  115. </body>
  116. </html>

Y en el php tengo esto:

Código PHP:

Código
  1. <?php
  2. $destino= "correo@gmail.com";
  3.  
  4. $nombre=$_POST["nombre"];
  5. $nombredos=$_POST["nombredos"];
  6. $apellidos=$_POST["apellidos"];
  7. $nacimiento=$_POST["nacimiento"];
  8. $correo=$_POST["correo"];
  9. $usuario=$_POST["usuario"];
  10. $clave=$_POST["clave"];
  11. $opinion=$_POST["opinion"];
  12. $contenido= "Nombre: " .$nombre. "\nnombredos" .$nombredos. "\nApellidos: " .$apellidos. "\nNacimiento: " ."\nCorreo: " .$correo. "\nUsuario: " .$usuario. "\nClave: " .$clave. "\nOpinion: " .$opinion;
  13. mail($destino, "Mensaje de prueba", $contenido);
  14. echo "Se envió el mensaje";
  15. ?>

Según todo y eso sale que se ha enviado; pero NO LLEGA NADA
espero me ayuden, gracias

Mod: Post modificado quitando detalles personales no influyentes en la resolucion del problema


Título: Re: Envío de formulario por php
Publicado por: engel lex en 26 Septiembre 2015, 08:47 am
Citar
Según todo y eso sale que se ha enviado

Código
  1. mail($destino, "Mensaje de prueba", $contenido);
  2. echo "Se envió el mensaje";

seguro? simplemente a lo malo? si llega al final se envió el mensaje sin importar lo que sucedió?

si revisamos el manual http://us3.php.net/manual/es/function.mail.php (http://us3.php.net/manual/es/function.mail.php)

Citar
Devuelve TRUE si el correo ha sido aceptado para su envío, de lo contrario FALSE.

Es importante tener en cuenta que si el correo es aceptado para su envío, NO quiere decir que el correo haya alcanzado el destino indicado.

revisa... a demás la carpeta de spam del correo donde lo recibes


Título: Re: Envío de formulario por php
Publicado por: Giankaa en 26 Septiembre 2015, 08:54 am
Código
  1. mail($destino, "Mensaje de prueba", $contenido);
  2. echo "Se envió el mensaje";

seguro? simplemente a lo malo? si llega al final se envió el mensaje sin importar lo que sucedió?

si revisamos el manual http://us3.php.net/manual/es/function.mail.php (http://us3.php.net/manual/es/function.mail.php)

revisa... a demás la carpeta de spam del correo donde lo recibes

Sólo he querido que llegue mensaje, sin importar que llegue así sea en blanco o así pero quisiera que llegue mensaje, y si; he revisado spam y cada carpeta del correo y no llega nada :/


Título: Re: Envío de formulario por php
Publicado por: engel lex en 26 Septiembre 2015, 08:59 am
Citar
Sólo he querido que llegue mensaje, sin importar que llegue así sea en blanco o así pero quisiera que llegue mensaje

el que llegue el final del código no significa que el email fue aceptado por el servidor para envío... eso es lo que te estoy diciendo... simplemente porque llega al final del código asumes que se envió... especialmente con un hosting gratuito es como parar a alguien en la calle, decirle que te deposite 30$ y como se lo dijiste, asumiste que ya lo hizo... y no es así, siempre debes confirmar...

entonces ¿hiciste la corrección del código a ver si está siendo aceptado para envío?

¿tienes en el hosting los servicios de correo activos?

(si respondes a la segunda, asegúrate que le respuesta a la primera sea si, si no, asegúrate de eso primero)


Título: Re: Envío de formulario por php
Publicado por: Giankaa en 26 Septiembre 2015, 09:05 am
el que llegue el final del código no significa que el email fue aceptado por el servidor para envío... eso es lo que te estoy diciendo... simplemente porque llega al final del código asumes que se envió... especialmente con un hosting gratuito es como parar a alguien en la calle, decirle que te deposite 30$ y como se lo dijiste, asumiste que ya lo hizo... y no es así, siempre debes confirmar...

entonces ¿hiciste la corrección del código a ver si está siendo aceptado para envío?

¿tienes en el hosting los servicios de correo activos?

(si respondes a la segunda, asegúrate que le respuesta a la primera sea si, si no, asegúrate de eso primero)

Anteriormente hice modificaciones para confirmar el envío, sea TRUE o FALSE su respuesta no ha llegado. Respecto al "hosting, los servicios de correo activos"; he estado hace apenas unas horas en la creación de ello, para la activación tarda algo como 24 horas?


Título: Re: Envío de formulario por php
Publicado por: engel lex en 26 Septiembre 2015, 09:10 am
Citar
Anteriormente hice modificaciones para confirmar el envío, sea TRUE o FALSE su respuesta no ha llegado.

es decir simplemente da TRUE  o FALSE sin importar lo que pase? muéstrame el código...

Citar
; he estado hace apenas unas horas en la creación de ello, para la activación tarda algo como 24 horas?

¿revisaste los Q&A del hosting y los avisos al respecto?


Título: Re: Envío de formulario por php
Publicado por: WHK en 26 Septiembre 2015, 15:35 pm
Instalaste tu servidor de correos para que php pueda enviar correos? en linux necesitas sendmail como mínimo, en windowes necesitas instalar softwares mas complejos y configurar la conexión desde php. Si usas xampp o wampp creo que ya viene instalado, es cosa de habilitarlos solamente.


Título: Re: Envío de formulario por php
Publicado por: Giankaa en 27 Septiembre 2015, 01:24 am
La verdad no entiendo...  :-[ :-\


Título: Re: Envío de formulario por php
Publicado por: WHK en 27 Septiembre 2015, 03:29 am
Yo creo que por ahi está tu problema, php por si solo no manda correos, necesitas tener instalado un servidor de correos que se comunique con php y este lo envíe.

http://stackoverflow.com/questions/11942896/use-default-php-mail-function-with-smtp-server-on-linux
http://stackoverflow.com/questions/14866207/mail-doesnt-work-on-new-server

Que hosting estás usando?


Título: Re: Envío de formulario por php
Publicado por: Giankaa en 27 Septiembre 2015, 04:34 am
Yo creo que por ahi está tu problema, php por si solo no manda correos, necesitas tener instalado un servidor de correos que se comunique con php y este lo envíe.

http://stackoverflow.com/questions/11942896/use-default-php-mail-function-with-smtp-server-on-linux
http://stackoverflow.com/questions/14866207/mail-doesnt-work-on-new-server

Que hosting estás usando?

Exacto... Mira en donde estoy creando.
www.000webhost.com



Título: Re: Envío de formulario por php
Publicado por: WHK en 27 Septiembre 2015, 15:27 pm
Pues deberían enviarse bien, revisaste la bandeja de spam? o si no debe ser un problema del hosting. Has probado en otro hosting con el mismo código?