+ Responder Tema
Resultados 1 al 4 de 4

Tema: Error en formulario de contacto

  1. #1
    Recien Llegado! Pasaba por aquí... tito36bcn Está en el buen camino
    Fecha de Ingreso
    25 sep, 11
    Mensajes
    1
    Poder de Reputación
    0

    Error en formulario de contacto

    Buenos dias.
    Estoy haciendo una pagina web y cuando rellenan el formulario de contacto no llega a mi correo.
    Los codigos son estos

    HTLM:
    <h1>INFORMACION DE CONTACTO</h1>
    <img src="images/image9.jpg" class="left" alt="image" title="image"/>
    <br/><br/>
    <p class="left"><strong>Freelancesolidworks</strong> <br/>
    Barcelona (Spain)<br/>
    <strong>Telefono</strong>: <br/>
    <strong>Mail</strong>: <a href="mailto:info@freelancesolidworks.com">info@fr eelancesolidworks.com</a></p>

    <div class="clearboth"></div>
    <br/>
    <br/>
    <h1>CONTACTO</h1>
    <br/>
    <form method="post" action="contact.php">
    <fieldset><legend>Su informacion</legend>
    <p><label for="name" class="text">Nombre :</label><input class="text" type="text" name="name" id="name"></p>
    <p><label for="email" class="text">Email :</label><input class="text" type="text" name="email" id="email" ></p>
    <p><label for="telephone" class="text">Telefono :</label><input class="text" type="text" name="telephone" id="email" ></p>
    </fieldset>
    <fieldset><legend>Su mensaje</legend>

    <p><label for="subject" class="text">Asunto :</label><input class="text" type="text" name="subject" id="subject"></p>
    <p><label for="message" class="text">Mensaje :</label><textarea class="text" name="message" id="message"></textarea></p>
    <p><label class="text">&nbsp;</label></p>
    </fieldset>
    <p class="center"><input class="button" type="submit" value="enviar"></p>

    Y el de PHP es este
    <?

    $your_email = "info@freelancesolidworks.com";

    $headers= "From: ".$_POST['name']." <".$_POST['email'].">\r\n";
    $headers.='Content-type: text/html; charset=utf-8';
    mail($your_email, $_POST['subject'], "
    <html>
    <head>
    <title>Contact Message</title>
    </head>
    <body>
    Contact Message<br><br>
    Nombre : ".$_POST['Nombre']."<br>
    Email : ".$_POST['email']."<br>
    Telefono : ".$_POST['telefono']."<br><br>
    Asunto : ".$_POST['asunto']."<br>
    Mensaje : <br>".$_POST['Mensaje']."<br>
    </body>
    </html>" , $headers);
    header("Location: ./index.htm?page=_contact_message.htm");
    ?>

    ¿alguien me puede ayudar?

    Saludos y gracias

  2. #2
    Esto empieza a ser un vicio... Habitante Web-Freelance will become famous soon enough Avatar de Web-Freelance
    Fecha de Ingreso
    15 sep, 11
    Ubicación
    España
    Mensajes
    486
    Poder de Reputación
    4
    No es que yo sea un gurú del PHP, de hecho mi conocimiento es bastante básico, pero a simple vista se pueden apreciar varios errores, intentaré ayudarte pero, si alguién que sepa mas puede añadir su sabiduría, mejor.

    Yo pondría el PHP así:


    Código PHP:
    <?php
    $your_email 
    "info@freelancesolidworks.com";

    $nombre $_POST['name'];
    $email $_POST['email'];
    $tlf $_POST['telephone'];
    $asunto $_POST['subject'];
    $mensaje $_POST['message'];

    $cuerpo "Mensaje recibido:<br><br>Nombre: ".$nombre."<br>Email: ".$email."<br>Teléfono: ".$tlf."<br>Asunto: ".$asunto."<br>Mensaje: ".$mensaje;

    $headers"From: ".$nombre." <".$email.">\r\n";
    $headers.='Content-type: text/html; charset=utf-8';

    mail($your_email$asunto$cuerpo$headers);

    header("Location: ./index.htm?page=_contact_message.htm");
    ?>
    Pruébalo a ver si te va.

    Saludos!
    No se es más lelo por no saber, sino por no admitir que no se sabe.

  3. #3
    Esto empieza a ser un vicio... Habitante skaparate will become famous soon enoughskaparate will become famous soon enough
    Fecha de Ingreso
    02 may, 11
    Mensajes
    535
    Poder de Reputación
    4
    Hola, el código no esta mal, pero puede ser que el servidor no soporte la función mail de PHP (por ende no puedes enviar email). Si estas seguro de que soporta la función, entonces haz lo siguiente:

    Código PHP:
    <?php
    $your_email 
    "info@freelancesolidworks.com";

    $headers"From: ".$_POST['name']." <".$_POST['email'].">" PHP_EOL// PHP_EOL es el separador que se debe utilizar.
    $headers.='Content-type: text/html; charset=utf-8';

    $cuerpo "<html>
    <head>
    <title>Contact Message</title>
    </head>
    <body>
    Contact Message<br /><br />
    Nombre : "
    .$_POST['Nombre']."<br />
    Email : "
    .$_POST['email']."<br />
    Telefono : "
    .$_POST['telefono']."<br /><br />
    Asunto : "
    .$_POST['asunto']."<br />
    Mensaje : <br />"
    .$_POST['Mensaje']."<br />
    </body>
    </html>"
    ;

    if(
    mail($your_email$_POST['subject'], $cuerpo $headers)) {
      
    header("Location: ./index.htm?page=_contact_message.htm"); // Solamente si el email ha sido enviado se redireccionará.
    }
    else {
      echo 
    "Ocurrió un error al enviar el mensaje";
    }
    ?>
    Saludos.

  4. #4
    Esto empieza a ser un vicio... Habitante Web-Freelance will become famous soon enough Avatar de Web-Freelance
    Fecha de Ingreso
    15 sep, 11
    Ubicación
    España
    Mensajes
    486
    Poder de Reputación
    4
    Hombre, el código de PHP como error no tiene ninguno, es perfectamente válido, pero engorroso de leer y además no recoge los datos del formulario correctamente cuando se quiere construir el $cuerpo, ya que por ejemplo el campo del teléfono en el formulario se llama "telephone" y en la recogida PHP se llama "telefono", "message" en formulario y en PHP "mensaje", "subject" en el form y "asunto" en PHP, "name" en el form y "Nombre" en PHP. Estos datos no te van a llegar.

    Corrigiendo estos fallos, creo que el código de @skaparate es mucho mas eficiente que el que te puse yo, ya que el if else es muy recomendable en estos casos, y el separador PHP_EOL no tenía ni idea de eso jeje, ya dije que no soy un experto en PHP ;-)

    Saludos!
    No se es más lelo por no saber, sino por no admitir que no se sabe.

+ Responder Tema

Temas Similares

  1. formulario de contacto.
    Por capi1038 en el foro Formularios
    Respuestas: 1
    Último Mensaje: 21/08/2011, 03:28
  2. Formulario de contacto
    Por jhon1946 en el foro Foro General
    Respuestas: 1
    Último Mensaje: 08/07/2011, 20:30
  3. Formulario de contacto en AS3?
    Por dagger31 en el foro Foros
    Respuestas: 0
    Último Mensaje: 22/04/2011, 13:35
  4. FORMULARIO DE CONTACTO
    Por Bikemarket en el foro Formularios
    Respuestas: 9
    Último Mensaje: 24/05/2007, 00:27

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes