Tutorial: Como hacer un formulario de envio en php

Tema en 'Webmasters' iniciado por -Neo, 2 Mar 2007.

  1. -Neo

    -Neo
    Expand Collapse
    Sargento
    Usuario destacado

    Mensajes:
    203
    Me Gusta recibidos:
    1
    Bueno este formulario lo hice pa la web de mi tia y pues de pasada kiero hacer un tutorial sobre esto, ya que he visto que muchas personas quieren saber como se hace esto pero no tienen ejemplos, bueno aqui les pongo con imagenes y el codigo que solo ustedes deben cambiar el email al correo que quieren ke llegue el mensaje, dependiendo de los campos que ingreses en tu formulario donde se encuentran estas.


    1) Esto es el codigo para el consultas.php, dentro del form ponemos las cajas de texto y todo lo demas que ustedes deseen, como ustedes veen este codigo >>> onSubmit = "return validacion(this) es el java script que llamamos para validar los campos del form, mas abajo esta el codigo de esta funcion.

    Código:
    <form name="form1" action="envia_comentario.php" method=post onSubmit = "return validacion(this)">
    <table width="437" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="80" height="21" class="Estilo11">Nombre: <span class="Estilo20">*</span> </td>
    <td width="373"><input name="nombre" type="text" class="Estilo11" id="nombre" size="60" maxlength="50" ></td>
    </tr>
    <tr>
    <td height="21" class="Estilo11">E-mail: <span class="Estilo20">*</span> </td>
    <td><input name="email" type="text" class="Estilo11" size="60" maxlength="45" ></td>
    </tr>
    <tr>
    <td height="23" class="Estilo11">Asunto: <span class="Estilo20">*</span> </td>
    <td><input name="asunto" type="text" class="Estilo11" id="asunto" size="60" maxlength="95"></td>
    </tr>
    <tr>
    <td height="83" class="Estilo11">Contenido:<span class="Estilo20">*</span> </td>
    <td><textarea name="contenido" cols="60" rows="8" class="Estilo11" id="contenido" ></textarea></td>
    </tr>
    <tr>
    <td height="90" class="Estilo11"><p>Sugerencias:</p>
    <p>Opiniones:</p></td>
    <td><textarea name="sugerencia" cols="60" rows="5" class="Estilo11" id="sugerencia" ></textarea></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><div align="justify">
    <input name="Submit" type="submit" class="Estilo11" value="Enviar" >
    <input name="Submit2" type="reset" class="Estilo11" value="Cancelar">
    </div></td>
    </tr>
    </table>
    </form>
    ------

    Ahora si queremos ponerle restricciones al formulario para que todos los campos sean llenados de la manera correcta ingresamos este java script dentro de consultar.php:


    Código:
    <script language="JavaScript" type="text/JavaScript">
    
    function validacion(formulario) {
    
    var er_nombre = /^([a-z]|[A-Z]|á|é|í|ó|ú|ñ|ü|\s|\.|-)+$/ //letras, '.' y '-' o vacio
    var er_email = /^(.+\@.+\..+)$/
    var er_asunto = /^([a-z]|[A-Z]|á|é|í|ó|ú|ñ|ü|\s|\.|-)+$/
    var x
    
    
    //comprueba campo de nombre
    if(!er_nombre.test(formulario.nombre.value)) {
    alert('Campo Nombre Incorrecto - Ingrese solo letras')
    return false
    }
    
    //comprueba campo de email
    if(!er_email.test(formulario.email.value)) {
    alert('Campo Email Incorrecto - Ingrese un email corrrecto')
    return false
    }
    
    //comprueba campo asunto
    if(!er_asunto.test(formulario.asunto.value)) {
    alert('Campo Asunto Incorrecto - Ingrese solo letras ')
    return false
    }
    
    //Comprueba si el campo contenido esta vacio
    if (formulario.contenido.value.length < 1) {
    alert("El campo Contenido esta vacio - Escriba un contenido");
    formulario.contenido.focus();
    return (false);
    }
    
    }
    </script>
    -----

    Ahora creamos el envia_comentario.php que se encargara de recoger todas las variables de consultas.php, aka va el codigo en la siguiente imagen:

    aki dejo el codigo por si les da pereza tipear, listo para pegarlo, eso si no se olviden cambiar el email, deben poner su email para que ahi les llegue el mensaje ok:

    Aqui el codigo envia_comentario.php

    Código:
    <?php
    //Recoge las variables
    $nombre = $_POST['nombre'];
    $email = $_POST['email'];
    $asunto = $_POST['asunto'];
    $contenido = $_POST['contenido'];
    $sugerencia = $_POST['sugerencia'];
    //Preparando envio de correo
    $De = $email;
    $Para = '[COLOR="Red"]tucorreo@loquesea.com[/COLOR]'; //Aqui pones el correo a donde quieres que llegue todo el mensaje del formulario, no pongan correos de hotmail porque llegara al correo no deseado toda la informacion, cualkiero otro correo menos hotmail okas
    $Cuerpo.="Nombre: $nombre\n\n";
    $Cuerpo.="Contenido:\n $contenido\n\n";
    $Cuerpo.="Sugerencia:\n";
    $Cuerpo.=$sugerencia;
    $Cabeceras="From: $De\r\n";
    $Cabeceras.="Reply-To: $De\r\n";
    $Cabeceras.="Content-type: text/plain; charset=iso-8859-1\r\n";
    //enviando el mail
    mail($Para, $asunto, $Cuerpo, $Cabeceras);
    ?>
    Eso es todo. Leer bien y a probar. (aww)
     
  2. elb

    elbartotk
    Expand Collapse
    Recluta

    Mensajes:
    20
    Me Gusta recibidos:
    0
    Oe Primo ...Pero Ezo de envia_comentario.php Tmb va Dntro de Consultas.php nu??
     

Compartir esta página