Crear formulario de contacto en CodeIgniter con correo electrónico

El formulario de contacto es un componente imprescindible para cada aplicación web. Es una forma simple y rápida de comunicarse con el propietario del sitio web. A través del formulario Contáctenos, el visitante del sitio web puede enviar sus preguntas, comentarios y sugerencias al administrador del sitio. De la misma manera, el formulario de contacto es muy útil para que el propietario del sitio obtenga las solicitudes de servicio o las consultas de los clientes directamente desde el sitio web.
En la mayoría de los casos, la solicitud de contacto enviada se envía al administrador del sitio por correo electrónico. Por lo tanto, el administrador del sitio de la organización respectiva puede obtener la solicitud al instante y enviar una respuesta rápida al remitente. Además, la respuesta se puede enviar automáticamente al remitente de la solicitud desde el script. En este tutorial, le mostraremos cómo crear un formulario de contacto simple en el marco de CodeIgniter y enviar un correo electrónico después del envío del formulario. El código de ejemplo le ayuda a crear el formulario de contacto de CodeIgniter con validación y funcionalidad de envío de correo electrónico .

Controlador (Contact.php)

El controlador se encarga del proceso de contacto formulario de envío de contactos, que tiene 3 funciones, __construct()index(), y sendEmail()
__construct () : carga la biblioteca de validación de formularios.
índice () -
  • Si el formulario de contacto es enviado:
    • Valide los campos de formulario usando la biblioteca de validación de formularios CodeIgniter.
    • Pase los datos del formulario en la función sendEmail () para enviar un correo electrónico de solicitud de contacto.
    • Almacena el mensaje de estado en un Array.
  • Pase los datos POST y el estado de envío del formulario a la vista.
enviar correo electrónico () -
  • Envíe correo electrónico HTML con los datos del formulario de contacto usando la biblioteca de correo electrónico en CodeIgniter.
  • Devuelva verdadero en éxito o falso en fracaso.
<? php defined ( 'BASEPATH' ) O exit ( 'No se permite el acceso directo al script' ); 

el contacto de la  clase  extiende el  controlador_CIN  { 
    
    función  __construct () { 
        parent :: __construct (); 
        
        // Cargar la biblioteca de validación de formularios 
        $ this -> load -> library ( 'form_validation' ); 
    } 
    
índice de     función pública  () { 
        $ data  $ formData  = array (); 
        
        // Si la solicitud de contacto se envía 
        si ( $ this -> input-> post ( 'contactSubmit' )) { 
            
            // Obtenga los datos del formulario 
            $ formData  $ this -> input -> post (); 
            
            // Reglas de validación de campos de formulario 
            $ this -> form_validation -> set_rules ( 'nombre' 'Nombre' 'requerido' ); 
            $ this -> form_validation -> set_rules ( 'email' 'Email' 'required | valid_email' ); 
            $ esto -> form_validation ->( "sujeto" "Asunto" "requerido" ); 
            $ this -> form_validation -> set_rules ( 'message' 'Message' 'required' ); 
            
            // Valide los datos del formulario enviado 
            si ( $ this -> form_validation -> run () ==  true ) { 
                
                // Defina los datos de correo electrónico 
                $ mailData  = array ( 
                    'name'  =>  $ formData [ 'name' ], 
                    'email'  = >  $ formData [ '
                    'subject'  =>  $ formData [ 'subject' ], 
                    'message'  =>  $ formData [ 'message' ] 
                ); 
                
                // Enviar un correo electrónico al sitio admin 
                $ send  $ this -> sendEmail ( $ mailData ); 
                
                // Verifique el estado de envío de correo electrónico 
                si ( $ enviar ) { 
                    // 
                    Anular datos de formulario $ formData  = array (); 
                    
                    $ data [ 'status' ] = array ( 
                        'type'  =>  'success' , 
                        'msg'  =>  '
                    ); 
                } else { 
                    $ data [ 'status' ] = array ( 
                        'type'  =>  'error' , 
                        'msg'  =>  'Ocurrieron algunos problemas, inténtalo de nuevo.' 
                    ); 
                } 
            } 
        } 
        
        // Pase los datos POST para ver 
        $ data [ 'postData' ] =  $ formData ; 
        
        // Pase los datos para ver 
        $ this -> load -> view ( 'contact / index' $ data );

    

        // Cargar la biblioteca de correo electrónico 
        $ this -> load -> library ( 'email' ); 
        
        // Mail config 
        $ to  'destinatario@gmail.com' ; 
        $ from  'codexworld@gmail.com' ; 
        $ fromName  'CodexWorld' ; 
        $ mailSubject 'Solicitud de contacto enviada  por' . $ mailData [ 'nombre' ]; 
        
        // Contenido del correo 
        $ mailContent ' 
            <h2> Solicitud de contacto 
enviada  </h2>             <p> <b> Nombre: </b>' .'nombre' ]. '</p> 
            <p> <b> Correo electrónico: </b>' . $ mailData [ 'email' ]. '</p> 
            <p> <b> Asunto: </b>' . $ mailData [ 'asunto' ]. '</p> 
            <p> <b> Mensaje: </b>' . $ mailData [ 'mensaje' ]. '</p> 
        ' ; 
            
        $ config [ 'mailtype' ] =  'html' ; 
        $ esto -> correo electrónico -> inicializar ( $ config ); 
        $ esto -> correo electrónico -> a( $ a ); 
        $ this -> email -> from ( $ from $ fromName ); 
        $ this -> email -> subject ( $ mailSubject ); 
        $ this -> email -> message ( $ mailContent ); 
        
        // Enviar correo electrónico y estado de 
        retorno devolver  $ esto -> correo electrónico -> enviar ()? verdadero : falso ; 
    } 
    
}

Ver (contact / index.php)

Este archivo contiene el formulario HTML de contacto que permite al usuario enviar una solicitud de contacto.
  • Inicialmente, se muestra un formulario con algunos campos básicos (nombre, correo electrónico, asunto y mensaje).
  • En el envío, el formulario se envía al index()método del controlador de contacto.
  • Si se produce un error de validación de formulario, el mensaje se muestra debajo del campo de entrada.
  • Si se envía el envío del formulario, se envía un correo electrónico al administrador del sitio y se muestra el mensaje de éxito al usuario.
< div  class = "content-frm" > 
    <! - Muestra el mensaje de estado -> 
    <? php  if (! empty ( $ status )) {  ?> 
    < div  class = "status <? php  echo  $ status [ ' escriba ' ];  ?> " > <? php  echo  $ status [ ' msg ' ]; ?> </ div > 
    <? php  ?>
    
    <! - Formulario de contacto -> 
    < form  action = ""  method = "post" > 
        < div  class = "form-cw" > 
            < h2 > Contáctenos </ h2 > 
            < button  type = "submit"  name = " contactSubmit "  class = " frm-submit "  value = " Submit " > 
                < img  src = " < ? php echo  base_url ( ' asset / images / mail.png' ); ?> " >
            </ button >
            < div  class = " clear " ></ div >
        </ div >
        
         
            ); ?> </ div >    
            
        
        
         
            </p> ' ); ?> </ div    
            
        >
        
         
            / p> ' ); ?> </ div    
            
        >
        
        < div  class = "input-group" > 
            < textarea  name = "message"  placeholder = "YOUR MESSAGE" > <? php  echo! empty ( $ postData [ 'message' ])? $ postData [ 'message' ]: '' ?> </ textarea > 
            <? php  echo  form_error ( 'message' , '<p class = "field-error">' , '</p>' ); ?> 
        <
        
        < input  type = "submit"  name = "contactSubmit"  class = "frm-submit"  value = "Submit" > 
    </ form > 
</ div >

Conclusión

Aquí hemos intentado proporcionar la forma más rápida de integrar el formulario de contacto en la aplicación CodeIgniter. La funcionalidad del formulario de contacto se puede ampliar fácilmente según sus necesidades. La funcionalidad de validación de formularios y envío de correo electrónico ya implementada en el código de ejemplo. Puede integrar la funcionalidad CAPTCHA en CodeIgniter para proteger el formulario del envío de spam.

Acerca de: Programator

Somos Instinto Programador

0 comentarios:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Con tecnología de Blogger.