Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 11 de 11

Tema: tutorial para hacer un formulario

  1. #1
    Recien Llegado! Habitante
    Fecha de Ingreso
    14 mar, 11
    Mensajes
    26
    Poder de Reputación
    14

    tutorial para hacer un formulario

    hola, les explico mi situacion
    soy diseñadora pero principalmente de impresos casi no se nada de web pero he tomado un curso de paginas web (muy basico) para crearme una pagina por que los clientes cuando no ven una pagina desconfian
    bueno el punto es que mi pagina http://sangin.com.mx/ la hice con flash y dreamweaver pero me falla el formulario, vi un tutorial y copie los codigos pero veo q algo me fallo y no se que fue
    me pueden pasar un tutorial sencillo para hacer mi formulario?

  2. #2
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    Hola: ¿sabes inglés? Si sabes, entonces este te puede servir. En español creo que este es bastante simple.

    El problema creo que radica en que todos los formularios pueden requerir algo de conocimiento para programar. Si quieres, yo te puedo ayudar, pásame el archivo de flash y yo te lo devuelvo funcionando, ¿te parece?. Luego publicamos la respuesta en el foro por si alguie más lo necesita :D.

    Saludos.

  3. #3
    Recien Llegado! Habitante
    Fecha de Ingreso
    14 mar, 11
    Mensajes
    26
    Poder de Reputación
    14
    vaya si se ocupa programacion y es lo que me falla
    no sera problema si te lo mando para que lo prepares?
    es que el tutorial que me pones es un poco complicado

  4. #4
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    Ok, ningún problema. Ahora, yo no recomiendo utilizar Flash para diseñar ni programar un sitio web, así que me preguntaba si tiene que ser obligatoriamente en Flash. Por ejemplo, este sitio lo programé yo (el diseño fue hecho por una diseñadora gráfica), pero en ningún momento se utilizó flash.

    El problema de Flash es que no se puede actualizar el contenido sin procesar el archivo flash nuevamente. Bueno, igualmente no tengo probblema si me envias el archivo (puede ser por mensaje privado).

    Saludos.

  5. #5
    Recien Llegado! Habitante
    Fecha de Ingreso
    14 mar, 11
    Mensajes
    26
    Poder de Reputación
    14
    pues no tiene q ser flash, la pagina esta hecha en dreamweaver con algunas partes en flash
    como el conejo y el intro pero casi todo es dreamweaver

  6. #6
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25

    No es un tutorial, pero sí un formulario de contacto.

    Hola de nuevo:

    Estuve revisando el código de tu sitio y te puedo ayudar pasándote un formulario que ya esta listo.

    Primero que nada, cambia lo siguiente en el form dentro de tu página de contacto:

    Original: <form method="post" comentario"=""info@sangin.com.mx"?subject="Cualqui er" action="mailto:" enctype="text/plain" name="Enviar">

    Modificado: <form method="post" action="enviar.php">. Eso es todo, el resto está bien.

    Para que funcione el formulario, solo hace falta que copies (y modifiques un par de cosas) y pegues lo siguiente en un archivo llamado enviar.php dentro de la misma carpeta donde está el formulario de contacto:

    Código PHP:
    <?php  
      $nombre 
    $_POST['Nombre'];
      
    $phone $_POST['tlf'];
      
    $mail $_POST['Correo'];
      
    $msg_body $_POST['mensaje'];
      
      
    $output '';
      if(!isset(
    $nombre) && !isset($phone) && !isset($mail) && !isset($msg_body)) {
          
    $output .= '<p class="error">Todos los campos son obligatorios</p><br />';
      }
      else {
        if( !
    val_name$nombre ) )
          
    $output .= '<p class="error">El nombre debe tener 3 caracteres de largo como mínimo y contener sólo letras.</p>';
        
        if( !
    val_phone$phone ) )
          
    $output .= '<p class="error">El teléfono no es válido.</p>';
          
        if( !
    val_mail$mail ) )
          
    $output .= '<p class="error">El e-mail no es válido.</p>';
          
        if( 
    strlen$msg_body ) < 20 )
          
    $output .= '<p class="error">El mensaje debe contener un mínimo de 20 caracteres.</p>';

        if( 
    strlen$msg_body ) > 1000 )
          
    $output .= '<p class="error">El mensaje no puede contener más de 1000 caracteres. Usted tiene ' . ( 1000 strlen$msg_body ) ) . ' caracteres demás.</p>';
      }
      
      if( !empty( 
    $ouput ) )
        echo 
    $output;
      else {
        
    clear_str$nombre );
        
    clear_str$phone );
        
    clear_str$mail );
        
    clear_str$msg_body );
        
        
    $msg_body .= '<br /><br /><p>Enviado por: ' $nombre '</p>';
        
    $msg_body .= '<p>Teléfono: ' $phone '</p>';
        
    $msg_body .= '<p>Mail: ' $mail '</p>';
        
        if( 
    sendit$nombre '<' $mail '>''info@sangin.com.mx''Contacto Sangin'$msg_bodystrip_tags($msg_body), '''' ) )
          echo 
    'enviado';
        else
          echo 
    'error';
      }
        
      
    // Reemplaza lo que esta dentro de las comillas simples en $to para usar otro correo de destino.
      
    function sendit($from ''$to ''$subject 'Sin asunto'$contenido_html ''$contenido_plano ''$CC ''$BCC ''$sIP '') {
        
    $eol     PHP_EOL;

        if(
    $sIP == '')
          
    $sIP md5($subject.date('dmY'));
        if(
    $from == '')
          
    $from '<noreply@' .$_SERVER['SERVER_NAME']. '>'.$eol;
        
    $header  'From: ' .$from.$eol;
            
    // Responder a:
        
    $header .= 'Reply-To: ' .$from.$eol;
            
    // Responder acuse de recibo a:
        
    $header .= 'Return-Receipt-To: ' .$from.$eol;
            
    // Responder:
        
    $header .= 'Return-Path: ' .$from.$eol;
            
    // Con copia:
        
    if($CC != '')
          
    $header .= 'CC: ' .$CC.$eol;
            
    // Con copia ciega (Blind Carbon Copy, conceal ):
        
    if($BCC != '')
          
    $header .= 'BCC: ' .$BCC.$eol;

        
    $header .= 'Message-ID: <' .time(). ' no-reply@' .$_SERVER['SERVER_NAME']. '>' .$eol;
        
    $header .= 'Content-Type: multipart/alternative; boundary="' .$sIP'"' .$eol.$eol;
        
    $header .= 'MIME-Version: 1.0' .$eol;
        
        
    // PLAIN TEXT
        
    $msg  "Content-Type: multipart/alternative".$eol;
        
    $msg .= '--' .$sIP.$eol;
        
    $msg .= 'Content-Type: text/plain; charset=utf-8' .$eol;
        
    $msg .= 'Content-Transfer-Encoding: 7bit' .$eol.$eol;
        
    $msg .= $contenido_plano $eol $eol;
        
    $msg .= 'Para ver correctamente este mensaje, usted necesita activar el contenido HTML.'.$eol;
        
    $msg .= 'Si usted está leyendo esto, por favor actualice su cliente de correo electrónico o active el contenido HTML.'.$eol;
        
        
    // HTML MESSAGE
        
    $msg .= '--'.$sIP.$eol;
        
    $msg .= 'Content-Type: text/html; charset=utf-8'.$eol;
        
    $msg .= 'Content-Transfer-Encoding: 7bit'.$eol.$eol;
        
    $msg .= $contenido_html $eol $eol;
        
    $msg .= '--' .$sIP.$eol;

        
    ini_set('sendmail_from'$from);
        if (
    mail($to$subjectwordwrap($msg70$eol), $header)) {
          @
    ini_restore('sendmail_from');
          return 
    true;
        }
        else {
          @
    ini_restore('sendmail_from');
          return 
    false;
        }
        
        return 
    false;
      }
      
      function 
    clear_str(&$str) {
        
    $str htmlspecialchars($strENT_QUOTES);
        
    $str stripslashes($str);
        
    $str strip_tags($str);
      }
      
      function 
    val_name$name ) {
        if( 
    preg_match'/^[A-Za-záéíóúÁÉÍÓÚüÜäëïöÄËÏÖ][A-Za-záéíóúÁÉÍÓÚüÜäëïöÄËÏÖ\s]{3,50}$/'$name ) )
          return 
    true;
          
        print 
    preg_last_error();
        
        return 
    false;
      }
      
      function 
    val_phone$phone ) {
        if( 
    preg_match'/^(\d){7,12}$/'$phone ) )
          return 
    true;
          
        print 
    preg_last_error();
        
        return 
    false;
      }
      
      function 
    val_mail$mail ) {
        if( 
    preg_match'/^([A-Za-z0-9_])([a-zA-Z0-9\._])+@([a-z|A-Z|0-9])+\.([a-zA-Z]){2,3}$/'$mail ) )
          return 
    true;
          
        print 
    preg_last_error();
        
        return 
    false;
      }
    ?>
    Ahora, debo aclarar un par de cosas. Todos los campos son validados de cierta manera. Por ejemplo, el nombre debe contener al menos 3 letras (sin números) desde la A-Z (mayúsculas o minúsculas) junto con los siguientes caracteres: á, é, í, ó, ú, Á, É, Í, Ó, Ú, ü, Ü, ä, ë, ï, ö, Ä, Ë, Ï, Ö. El número telefónico también está restringido, pues debe contener sólo números y debe tener un mínimo de 7 cifras y un máximo de 12.El e-mail también tiene una restricción: debe ser un e-mail válido. Por ejemplo: andres@g.com es un email válido; en cambio a@a.com no lo es. Por último, el cuerpo del mensaje debe tener al menos 20 caracteres y un máximo de 1000.

    Si alguna de las condiciones anteriores no se cumple el e-mail no será enviado. El formulario de contacto original es este (programado por mí, diseñado por una diseñadora gráfica).

    Eso es todo. Ahora debería funcionar, de lo contrario, asegúrate que tu servidor soporte PHP y la función mail del mismo.

  7. #7
    Recien Llegado! Habitante
    Fecha de Ingreso
    14 mar, 11
    Mensajes
    26
    Poder de Reputación
    14
    O.O que bueno esta
    muchas gracias
    debo intentarlo y te digo como salio

  8. #8
    Recien Llegado! Habitante
    Fecha de Ingreso
    14 mar, 11
    Mensajes
    26
    Poder de Reputación
    14
    O.O
    gracias
    esto esta mas facil

    deja lo modifico y lo ves
    Última edición por sangin; 09/08/2011 a las 00:20

  9. #9
    Recien Llegado! Habitante
    Fecha de Ingreso
    14 mar, 11
    Mensajes
    26
    Poder de Reputación
    14
    mira como lo puse

    //*Reemplaza*lo*que*esta*dentro*de*las*comillas*simp les*en*$to*para*usar*otro*correo*de*destino.<br />
    function*sendit($from*=*'web',*$to*=*'info@sangin. com.mx',*$subject*=*'informacion',*$contenido_html *=*'',*$contenido_plano*=*'',*$CC*=*'',*$BCC*=*'', *$sIP*=*'')*{<br />

    como ves asi esta bien??

  10. #10
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    Si, aunque realmente no es necesario, porque en una línea anterior yo había modificado el correo electrónico:

    if( sendit( $nombre . '<' . $mail . '>', 'info@sangin.com.mx', 'Contacto Sangin', $msg_body, strip_tags($msg_body), '', '' ) )

    Aquí ya aparece tu correo y esta es la llamada a la función, por ende, todo lo que aparece entre paréntesis (después del nombre de la función sendit) son los parámetros y estos reemplazan lo que esta entre los paréntesis donde dice function sendit($from...).

    Saludos.

  11. #11
    Recien Llegado! Habitante
    Fecha de Ingreso
    14 mar, 11
    Mensajes
    26
    Poder de Reputación
    14
    gracias ya esta funcionando
    y solo fueron unos detalles, yo pense que tenia todo mal
    y por cierto muy bueno explicando

Temas Similares

  1. hacer formulario para encuesta
    Por Javier76 en el foro Formularios
    Respuestas: 2
    Último Mensaje: 17/03/2010, 09:06
  2. [Tutorial]Codigo para hacer un examen en tu pagina
    Por Raul Nevarez Garcia en el foro Tutoriales Varios
    Respuestas: 1
    Último Mensaje: 23/01/2009, 17:42
  3. hacer templates perosonalizados para tu foro [tutorial]
    Por adrino en el foro Tutoriales Varios
    Respuestas: 1
    Último Mensaje: 05/12/2007, 21:20

Etiquetas para este Tema

Permisos de Publicación

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