1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

Formulario de Contacto con Dreamweaver

Tema en 'Tutoriales Desarrollo Web' iniciado por elQuique, 30 Oct 2006.

  1. elQuique

    elQuique Usuario activo

    jlpe22mac, bienvenido al foro.

    En el html del formulario fíjate de utilizar la misma codificación con la que envías tu mensaje.

    En el formulario:

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <!--c2--></div><!--ec2-->

    dentro de tus etiquetas <head> ... y ... </head>

    Luego en el enviar.php, en mi ejemplo dice

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    $header .= "Content-Type: text/plain";
    <!--c2--></div><!--ec2-->

    ahí le agregas la misma codificación, quedándote esa linea así:

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    $header .= "Content-Type: text/plain; charset=iso-8859-1";
    <!--c2--></div><!--ec2-->

    :)
     
  2. jlpe22mac

    jlpe22mac Nuevo usuario

    Hola de nuevo y gracias por tu interés con todos nosotros.
    Creo haber hecho lo que me decías, pero no he mejorado en el tema de los acentos.
    Como ejemplo, he puesto "última aparición de los ácentos" y me ha aparecido en el mensaje: ?ma aparici?e los ?ntos.
    Te dejo el código de mi send.php a ver si ves algo erróneo.
    el ISO lo he puesto en mayúsculas porque en la página del formulario estaba así.
    Gracias de nuevo y espero tu constestación.
    José Luis.


    <?php

    $nombre = $_POST['nombre'];
    $opinion = $_POST['opinion'];

    $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
    $header .= "Mime-Version: 1.0 \r\n";
    $header .= "Content-Type: text/plain; charset=ISO-8859-1";

    $mensaje = "Enviado por " . $nombre . " \r\n";
    $mensaje .= "Este es el comentario " . $opinion . " \r\n";
    $mensaje .= "Enviado el " . date('d/m/Y', time());

    $para = 'info@pppinseque.es';
    $asunto = 'Contacto desde pppinseque.es';

    mail($para, $asunto, utf8_decode($mensaje), $header);

    echo 'Opinión enviada correctamente. Gracias por tu colaboración.';
    ?>
    </html>
     
  3. elQuique

    elQuique Usuario activo

    Quita el utf8_decode !!!, o sea esta linea:

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    mail($para, $asunto, utf8_decode($mensaje), $header);
    <!--c2--></div><!--ec2-->

    déjala asi:

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    mail($para, $asunto, $mensaje, $header);
    <!--c2--></div><!--ec2-->
     
  4. jlpe22mac

    jlpe22mac Nuevo usuario

    ¡Gracias , gracias y mil gracias!
    Solucionado lo de los acentos.
    Seguiré mirando tus ayudas porque sirven de mucho.
    Gracias de nuevo y un saludo.
    José luis.
     
  5. Paulita

    Paulita Nuevo usuario

    [attachmentid=2674][attachmentid=2673]hola, es primera vez que escribo y necesito de tu ayuda, estoy haciendo un web y necesito crear un formulario, de hecho ya lo tengo listo, a la vez cree el send.php, pero no se que onda pasa, creo que esta malo, no se si esta bien vinculado el archico formulario.htm con el send.php, me ayudas?????
    *te adjunto mis archivos para que los revises, gracias
     

    Adjuntos:

    • formulario.htm
      Tamaño de archivo:
      696 bytes
      Visitas:
      241
    • send.php
      Tamaño de archivo:
      866 bytes
      Visitas:
      250
  6. Lark

    Lark Nuevo usuario

    [attachmentid=2675][attachmentid=2676]hola tengo el siguiente problema, me llegan todos los formularios que se llenan a mi cuenta de correo excepto los que en la parte donde llenan el correo me escriben un correo con @hotmail.com, es decir si en la parte Correo ponen un correo de hotmail este no se me envia y me marca un error, solo con hotmail tengo problemas con yahoo, gmail y otro tipo de cuentas no hay problema. que podra ser??? si alguien puede ayudarme s elos agradeceria mucho aqui les va mi codigo a ver si encuentran algo que me ayude a que esto no suceda.


    <?php
    $Nombre = $_POST['Nombre'];
    $Correo = $_POST['Correo'];
    $Empresa = $_POST['Empresa'];
    $Departamento = $_POST['Departamento'];
    $Telefono = $_POST['Telefono'];

    $Pregunta = "Este mensaje fue enviado por " . $Nombre . " \r\n" ;
    $Pregunta .= "Empresa: " . $Empresa . "\r\n";
    $Pregunta .= "Departamento: " . $Departamento . "\r\n";
    $Pregunta .= "Su e-mail es: " . $Correo . " \r\n";
    $Pregunta .= "Teléfono: " . $Telefono . " \r\n";
    $Pregunta .= "Pregunta: " . $_POST['Pregunta'] . " \r\n";
    $Pregunta .= "Enviado el " . date('d/m/Y') . "\n";

    require "includes/class.phpmailer.php";
    $mail = new phpmailer();
    $mail->PluginDir = "includes/";
    $mail->Mailer = "smtp";
    $mail->Host = "servidor de correo";

    $mail->From = $Correo; //correo del que lo manda
    $mail->FromName = $Nombre;//quien lo esta enviando nombre
    $mail->Timeout=30;
    $mail->AddAddress("alondra.ochoa@mcmexico.com");
    $mail->Subject = "Contacto desde MCMéxico";//asunto
    $mail->Body = $Pregunta;//mensaje

    $exito = $mail->Send();

    $intentos=1;
    while ((!$exito) && ($intentos < 5)) {
    sleep(5);
    //echo $mail->ErrorInfo;
    $exito = $mail->Send();
    $intentos=$intentos+1;

    }

    if ($Submit == "Enviar") {
    if(!$exito){
    echo "Problemas enviando correo electrónico a ".$Correo;
    echo "<br>".$mail->ErrorInfo;
    }
    else{
    echo "Mensaje enviado correctamente";
    }
    }
    else {
    ?>
    aqui va el codigo del formulario
    <?php
    }
    ?>

    y los archivos adjuntos son los que utilizo pa que el codigo funcione
     

    Adjuntos:

  7. sergiodefenders

    sergiodefenders Nuevo usuario

    Hola, lei casi la totalidad de las paginas de este topic y al parecer soy el unico que hizo el formulario de Flash.
    la cuestion es que lo hice exactamente como sale el tutorial, incluso descarge el archivo fla y lo compare con el mio y esta igual.

    hice el archivo send.php con este codigo:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <?php
    $nombre = $_POST['nombre'];
    $mail = $_POST['mail'];
    $empresa = $_POST['empresa'];

    $header = 'From: ' . $mail . " \r\n";
    $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
    $header .= "Mime-Version: 1.0 \r\n";
    $header .= "Content-Type: text/plain";

    $mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
    $mensaje .= "Su e-mail es: " . $mail . " \r\n";
    $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
    $mensaje .= "Enviado el " . date('d/m/Y', time());

    $para = 'sergiohectoralejandro@hotmail.com';
    $asunto = 'Contacto desde Taller Webmaster';

    mail($para, $asunto, utf8_decode($mensaje), $header);

    echo '&estatus=ok&';


    ?>

    <head>
    <title>Documento sin t&iacute;tulo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>

    </body>
    </html>



    O sea el mismo que pusiste en el tutorial, pero le puse mi direccion de correo, lo subi al server y me arroja mensaje enviado luego de enviar los datos, pero no me llega nada, intente con dos correos diferentes y no llega nada pesa que dice "mensaje enviado", ya me comunique con el hosting y me dice que tiene habilitada la opcion mail PHP...

    cual puede ser mi problema?...
    trate de hacer la prueba de mail enviado pero no estoy seguro sy lo hice bien.

    lo hice de la siguiente forma:

    - borre el archivo send.php
    - cree un archivo nuevo llamado test.php donde inclui solo esto...

    <?php

    mail('sergiodefenders@gmail.com', 'asunto test', 'mensaje prueba');

    ?>


    _PERO, al probar me arrojaba problemas con el servidor, despues borre ese archivo test e hice de nuevo el send.php y me mostraba nuevamente el mensaje de enviado, pero jamas me llego nada...

    por favor, me puedes ayudar'


    Gracias.
     
  8. elQuique

    elQuique Usuario activo

    Si la prueba de mail() te da problemas en el servidor, y al estar ese código tan simple y sencillo perfectamente bien, el problema es del hosting. :)
     
  9. Chocona

    Chocona Nuevo usuario

    Hola Quique, nuevamente molestando, ahora en otro servidor haciendo pruebas con el formulario,
    me llega el mail, con todos los datos, pero el mensaje o comentario del visitante no me aparece :unsure:
    porfavorcito ayudame...aki va el formulario. :adios:

    <?php

    $nombre = $_POST['nombre'];
    $mail = $_POST['mail'];
    $pais = $_POST['pais'];

    $header = 'From: ' . $mail . " \r\n";
    $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
    $header .= "Mime-Version: 1.0 \r\n";
    $header .= "Content-Type: text/plain";

    $mensaje = "Este mensaje fue enviado por " . $nombre . ", de " . $pais . " \r\n";
    $mensaje .= "Su e-mail es: " . $mail . " \r\n";
    $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
    $mensaje .= "Enviado el " . date('d/m/Y', time());

    $para = 'miomail@gmail.com';
    $asunto = 'Mensaje dejado por Visitas';

    mail($para, $asunto, utf8_decode($mensaje), $header);

    header('Location: <a href="http://mipagina/mensajerecibido.htm');" target="_blank">http://mipagina/mensajerecibido.htm');</a>

    ?>
     
  10. elQuique

    elQuique Usuario activo

    Entonces el problema esta en $mensaje que no recibe de $_POST['mensaje'], estas segurisimo que en el formulario ese campo se llama "mensaje" ??
     
  11. Chocona

    Chocona Nuevo usuario

    <!--quoteo(post=237852:date=Jul 27 2007, 01:18 PM:name=elQuique)--><div class='quotetop'>CITA(elQuique @ Jul 27 2007, 01:18 PM) [snapback]237852[/snapback]</div><div class='quotemain'><!--quotec-->
    Entonces el problema esta en $mensaje que no recibe de $_POST['mensaje'], estas segurisimo que en el formulario ese campo se llama "mensaje" ??
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    LOTERIA........Tan inteligente Quique :clapping:
    :D en el formulario tenía otro nombre :p
    Muchas gracias...ahí estaba el problema :banana:
     
  12. sergiodefenders

    sergiodefenders Nuevo usuario

    De nuevo yo man, mira mi formulario es igual al tutorial que subiste
    <a href="http://www.solophotoshop.com/Tutorial-Formulario-de-Contacto-con-Flash-c-266.html" target="_blank">http://www.solophotoshop.com/Tutorial-Form...lash-c-266.html</a>

    Mi nueva consulta es que al generar esos campos de introduccion de texto en el formulario de Flash le pusiste nombres de instancias, no era necesario ponerles variables tambien?, sera que por eso no funciona o no tienen nada que ver.?

    Gracias de nuevo
     
  13. Sebastian.

    Sebastian. Guest

    hello kike y compas de codigos :D

    vengo aqui a molestar con un gran dilema... no me anda el formulario :unsure:

    esta es la dire del iframe donde esta el formulario:

    <a href="http://www.eroica.com.ar/web/miniframe1.html" target="_blank">http://www.eroica.com.ar/web/miniframe1.html</a>

    y aca esta el code q tiene el archivo "send.php"

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1--><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title></title>
    </head>

    <?php

    $mail = $_POST['mail'];

    $header = 'From: ' . $mail . " \r\n";
    $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
    $header .= "Mime-Version: 1.0 \r\n";
    $header .= "Content-Type: text/plain";

    $mensaje .= "Su e-mail es: " . $mail . " \r\n";
    $mensaje .= "Enviado el " . date('d/m/Y', time());

    $para = 'sebastianmda@hotmail.com';
    $asunto = 'Contacto';

    mail($para, $asunto, utf8_decode($mensaje), $header);

    ?>

    <body>
    </body>
    </html><!--c2--></div><!--ec2-->

    saludos y help!!! :adios: :D
     
  14. elQuique

    elQuique Usuario activo

    te falta indicar el archivo que debe llamar el formulario en el action.
     
  15. gustavo_mex

    gustavo_mex Guest

    hola, excelente tutorial! perfectamente explicado y muy simple, gracias!

    Tengo una pregunta: Sabes como evitar el spam con el formulario de contacto??, talvez el poner un código cada vez que alguien quiera mandar un mensaje?

    Gracias!
     
  16. elQuique

    elQuique Usuario activo

    Para evitar el spam hay varios métodos:

    - validar que el remitente sea un email verdadero
    - banear IPs
    - código CAPTCHA

    etc
     
  17. Lurkka

    Lurkka Nuevo usuario

    Hola
    He llegado aqui buscando tutoriales para crear formularios, cuando vi este tuto me parecia imposible de hacer para mis conocimientos, despues de leer y leer en este post, intento hacer mi formulario.
    Mi problema es que cuando me llega el mail del formulario esto es lo que pone, ningun dato mas:


    <!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->Este mensaje fue enviado por , de la empresa Su e-mail es:
    Mensaje:
    Enviado el 13/08/2007<!--colorc--></span><!--/colorc-->

    A continuación dejo lo que hice en DW, tengo que decir que soy super novata en esto.

    Graciassss




    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento sin t&iacute;tulo</title>
    <?php
    $nombre = $_POST['nombre'];
    $mail = $_POST['mail'];
    $empresa = $_POST['empresa'];

    $header = 'From: ' . $mail . " \r\n";
    $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
    $header .= "Mime-Version: 1.0 \r\n";
    $header .= "Content-Type: text/plain";

    $mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
    $mensaje .= "Su e-mail es: " . $mail . " \r\n";
    $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
    $mensaje .= "Enviado el " . date('d/m/Y', time());

    $para = '<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->mimail@mimail.com'<!--colorc--></span><!--/colorc-->;
    $asunto = 'Contacto desde Xanarts';

    mail($para, $asunto, utf8_decode($mensaje), $header);

    echo '&estatus=ok&';

    ?>
    </head>

    <body>
    <form id="contacto" name="contacto" method="post" action="enviar.php">
    <label>Nombre
    <input name="textfield" type="text" size="30" />
    </label>
    <p>
    <label>Empresa
    <input name="textfield2" type="text" size="30" />
    </label>
    </p>
    <p>
    <label>E-Mail
    <input name="textfield3" type="text" size="30" />
    </label>
    </p>
    <p>
    <label>Mensaje<br />
    <textarea name="textarea" cols="35" rows="5"></textarea>
    </label>
    </p>
    <p>
    <label>
    <input type="submit" name="Submit" value="Enviar" />
    </label>
    </p>
    </form>
    </body>
    </html>
     
  18. elQuique

    elQuique Usuario activo

    Lurkka, bienvenida al foro :)

    El problema esta en que debes crear 2 archivos separados (se puede hacer con 1 pero mejor ahora con 2 así te es mas fácil)

    El primer archivo es el formulario, que puedes ver acá el tutorial:

    <a href="http://www.tallerwebmaster.com/Tutorial-Crear-Formulario-de-Contacto-con-Dreamweaver-c-42.html" target="_blank">http://www.tallerwebmaster.com/Tutorial-Cr...eaver-c-42.html</a>

    en el formulario debes tener en cuenta y cuidado 2 cosas:

    1) debes llamar en el action el archivo de envío en php action="enviar.php" o send.php o como le llames

    2) los nombres de cada campo input name="email", etc debes cuidar que sea los mismos que llamas en el php.

    Ambas cosas están explicadas en ese tutorial :)

    Y luego de tener el formulario, haces el segundo archivo con el siguiente tutorial:

    <a href="http://www.tallerwebmaster.com/Tutorial-Formulario-de-Contacto-enviar-mail-con-PHP-c-43.html" target="_blank">http://www.tallerwebmaster.com/Tutorial-Fo...n-PHP-c-43.html</a>

    que ahí esta explicado, creo que este fue el que viste, pero controla bien con el formulario.

    Cualquier duda a las ordenes :)
     
  19. Lurkka

    Lurkka Nuevo usuario

    Quique gracias por respoder tan rapido y por tu bienvenida...

    Hice tambien dos archivos uno asi

    <?php
    $nombre = $_POST['nombre'];
    $mail = $_POST['mail'];
    $empresa = $_POST['empresa'];

    $header = 'From: ' . $mail . " \r\n";
    $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
    $header .= "Mime-Version: 1.0 \r\n";
    $header .= "Content-Type: text/plain";

    $mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
    $mensaje .= "Su e-mail es: " . $mail . " \r\n";
    $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
    $mensaje .= "Enviado el " . date('d/m/Y', time());

    $para = 'mimail@mimail.com';
    $asunto = 'Contacto desde Xanarts';

    mail($para, $asunto, utf8_decode($mensaje), $header);

    echo '&estatus=ok&';

    ?>

    Lo llame enviar con extesion .php

    y el otro el del formulario
    </head>

    <body>
    <form id="contacto" name="contacto" method="post" action="enviar.php">
    <label>Nombre
    <input name="textfield" type="text" size="30" />
    </label>
    <p>
    <label>Empresa
    <input name="textfield2" type="text" size="30" />
    </label>
    </p>
    <p>
    <label>E-Mail
    <input name="textfield3" type="text" size="30" />
    </label>
    </p>
    <p>
    <label>Mensaje<br />
    <textarea name="textarea" cols="35" rows="5"></textarea>
    </label>
    </p>
    <p>
    <label>
    <input type="submit" name="Submit" value="Enviar" />
    </label>
    </p>
    </form>
    </body>
    </html>

    lo llame formulario.html

    los dos los subi al mismo folder lo fui haciendo paso a paso como indicas en los tutos y leyendo los mensajes de este post para orientarme, no se que hago mal, lo hice muchas veces y siempre me llega al correo lo mismo. Los archivos los subi tal y como te los copio.
    Disculpa tanta molestia
    Saludos y buen dia
     
  20. elQuique

    elQuique Usuario activo

    Como te dije debes tener cuidado en el formulario, y los nombres de los campos de ingreso de datos

    <input name="textfield" type="text" size="30" />

    no se puede llamar textfield porque tu luego en PHP lo buscas como nombre, debe ser asi

    <input name="nombre" type="text" size="30" />

    no te apures en contestar, lee bien lo que comento y entieldelo para reparar el html.
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·