epelpad

Formulario de Contacto con PHP - Simple

Formulario de Contacto con PHP - Simple
PHP

html


Hola Señoritos(as), sean todos bienvenidos a mi nuevo Post. En este post les voy a ayudar a crear una pagina de Contacto con PHP. Con un código facil y editable a gusto.


Resultado de ejemplo;

mensaje



codigo

PAGINA DE CONTACTO

Contacto

Para la pagina de contacto vamos a crear un formulario y guardarlo como .php, como por ejemplo:


<form action="inc/process.php" method="post" >
              <p class="field">
                    <input type="text" name="t1" value="" placeholder="Nombre" />
              </p>
               <p class="field">
                    <input type="text" style="margin-bottom:10px;" name="t2" value="" placeholder="Su e-mail" />
               </p>                          
                <p class="field">
                      <input type="text"  name="t3" value="" placeholder="Asunto" />
                </p>
                <p class="field">
                       <textarea name="t4" cols="50" rows="5" placeholder="Escriba su mensaje..." ></textarea> 
                 </p>
                 <p class="submit1">
                  <button type="submit" name="enviar" style="width:150px;">
                  <p class="regist1">ENVIAR</p></i></button>
                  </p>
</form>

Nota: Este es un código con una css mio, el css ustedes lo tienen que personalizar a gusto.


Lo importante que tienen que tener en cuenta es lo siguiente;


<!-- El formulario que valla a la include process.php que crearemos luego -->
<form action="inc/process.php" method="post" >

<!-- Las input tipo texto con nombre t1, t2 y t3, donde van a ir el nombre, correo, asunto-->

      <input type="text" name="t1"/> <!-- t1 para el Nombre -->

      <input type="text" name="t2"/> <!-- t2 para el E-mail -->

      <input type="text" name="t3"/> <!--t3 para el Asunto -->

<!-- Una Textarea donde van a escribir el mensaje -->
       <textarea name="t4" /> <!-- t4 para el mensaje -->

<!-- Un boton par enviar -->
       <button type="submit" name="enviar"/>

</form> <!-- Cerramos el formulario -->

Nota: El formulario lo insertan ustedes dentro de su pagina, osea, que todo el html restante va a disposición de ustedes.



tutorial

INCLUDE PROCCES

correo

Van a crear una carpeta llamada inc (o como gusten), donde van a ir todas las includes que tengan que hacer. Crean un nuevo archivo .php, y lo guardan dentro de la carpeta inc como procces.php (si quieren ponerle otro nombre háganlo, pero editen el formulario).
Luego ponen el código y lo editan a gusto:


<?php
 
//Primero las funciones que van a hacer unas comprobaciones. 
 //Esta función va a validar que sea una cuenta de correo la que insertan el t2

function validaemail($correo) { 
    if (
preg_match('/^[A-Za-z0-9-_.+%][email protected][A-Za-z0-9-.]+.[A-Za-z]{2,4}$/'$correo)) return true

    
//Si el e-mail ingresado no es valido, engonces aparece una ventana de alerta diciendo "El e-mail ingresado no es valido." y luego redirecciona a la pagina de contacto 

} if(!validaemail($_POST['t2'])) {
            echo 
'<script language="javascript"> alert("El e-mail ingresado no es valido."); </script>';
            echo 
'<script language="JavaScript"> window.location.href ="TU PAGINA/contacto.php" </script>';

//Si el no escribió el nombre, e-mail, asunto o el mensaje aparece un alerta y redirecciona a contacto. Donde dice "TU PAGINA", ingresen la dirección de su pagina, ya sea en localhost o en red.

        
}elseif(empty($_POST['t1'])) {
            echo 
'<script language="javascript"> alert("No has ingresado un Nombre."); </script>';
        echo 
'<script language="JavaScript"> window.location.href ="TU PAGINA/contacto.php" </script>';}
        elseif(empty(
$_POST['t2'])) {
            echo 
'<script language="javascript"> alert("No has ingresado un E-mail."); </script>';
        echo 
'<script language="JavaScript"> window.location.href ="TU PAGINA/contacto.php" </script>';}
        elseif(empty(
$_POST['t3'])) {
            echo 
'<script language="javascript"> alert("No has ingresado un Asunto."); </script>';
        echo 
'<script language="JavaScript"> window.location.href ="TU PAGINA/contacto.php" </script>';}
        elseif(empty(
$_POST['t4'])) {
            echo 
'<script language="javascript"> alert("No has ingresado un Mensaje."); </script>';
        echo 
'<script language="JavaScript"> window.location.href ="TU PAGINA/contacto.php" </script>';}
        else{

//Ya terminamos con las comprobaciones, y ahora vamos a darle forma al mensaje que va a llegarnos a nuestro correo
 
$mymail '[email protected]'//Poner aquí el correo donde quieres que llegue el mensaje
$cc 'Mensaje de contacto de mi web!'//Poner aquí el asunto del mensaje
$BoDy ' ';
$FrOm 'FROM:' .$_POST['t1'];
$FrOm .= 'Reply-To:' .$_POST['t1'];
$FrOm .= 'X-MAILER: PHP'.phpversion();
$BoDy .= 'Nombre: ';
$BoDy .= $_POST['t1'];
$BoDy .= "
"
;
$BoDy .= 'E-Mail: ';
$BoDy .= $_POST['t2'];
$BoDy .= "
"
;
$BoDy .= 'Asunto: ';
$BoDy .= $_POST['t3'];
$BoDy .= "
"
;
$BoDy .= 'Mensaje: ';
$BoDy .= $_POST['t4'];
$BoDy .= "
"
;
$send mail("$mymail""$cc""$BoDy""$FrOm");

///Redirección después de enviar el mensaje

if($send)
{
echo 
'<script language="javascript"> alert("El mensaje ha sido enviado correctamente. :)"); </script>'//Sale un alerta de confirmación de que el mensaje se ha enviado.
echo '<script language="JavaScript"> window.location.href ="TU PAGINA/contacto.php" </script>'//Redirección a la pagina que gusten
}}
?>


Nota: en Localhost no se puede probar si funciona el formulario, para probarlo tienen que subirlo a un host.

formulario


Si quieren crear una BD para guardar todos los mensajes pueden hacerlo, pero eso es mas a gusto suyo.

Formulario de Contacto con PHP - Simple

Muchas gracias por pasar, espero que te sea de utilidad.


PHP
html

10 comentarios - Formulario de Contacto con PHP - Simple

Septyc +1
te dejo 5, gracias
kdario19 +2
Buena onda el post, pero deberías explicar que el diseño de los campos se hace aparte con CSS y por ahí explicar levemente como funcionan las expresiones regulares, buen aporte
bortalli
Lo hice para un usuario promedio de esos que van a buscar el codigo y nada mas, explicando muy brevemente las lineas, pero pienso que el usuario promedio sabría leer las lineas.

Pero esta muy bien lo que decís.
Melonci +1
Te quedo genial Borti! +10
Re original y elegante!
bortalli
Gracias!!! Ah, respondía re tarde.
perrumo +1
Tenes el css que hiciste para este diseño?

mensaje
bortalli
Sip. Si queres lo publico en otro post.
perrumo
@bortalli oh, por favor, me gustaria ese diseño para un formulario que estoy haciendo.
drawdexc
@bortalli tienes el diseño css ?
sdantuoni +1
+ 10 excelente bien explicado y lindo de ver el post jajaj salu2
REQUIZ
HERMANO PERO COMO HAGO PARA CUANDO SALGA EL AVISO DEL MENSAJE ENVIADO CON EXITO O LAS QUE DICEN NO INTRODUJO NOMBRE ETC COMO HAGO PARA QUE SALGA EL ANUNCIO Y REGRESE A LA MISMA WEB PORQU EEL FORMULARIO ESTA EN VARIAS PAGINAS ENTONCES COLOCAR UNA DIRECCIÓN FIJA... ME GUSTARIA QUE EN CUALQUIER PAGINA QU ESTE AL SALIR EL ANUNCIO QUE EN LA MISMA PAGINA... ES POSIBLE ESTO???
rickisys
hola como estas , cree un formulario y puse el php pero me sale error en email? y os parametros estan todos bien..... por lo que puedo ver ...la verdad no encuentro el error te puedo mandar por privado los codigos? tanto el html del formulario y el php?? no tengo ningun conocido que me pueda ayudar ...... gracias espero!