validaciones php – ProgramaciónExtrema.com https://programacionextrema.com Tutoriales de programación! Thu, 11 Aug 2016 01:46:58 +0000 es hourly 1 https://wordpress.org/?v=5.6.15 https://programacionextrema.com/wp-content/uploads/2015/10/cropped-icon-programacion-extrema-32x32.png validaciones php – ProgramaciónExtrema.com https://programacionextrema.com 32 32 Validar un formulario en CodeIgniter https://programacionextrema.com/2015/12/10/validar-un-formulario-en-codeigniter/ https://programacionextrema.com/2015/12/10/validar-un-formulario-en-codeigniter/#respond Thu, 10 Dec 2015 02:04:48 +0000 http://programacionextrema.com/?p=933 Los formularios son muy comunes entre los sitios webs que desarrollamos hoy en día, ya que permiten cargar todo tipo de información. En este tutorial aprenderemos a validar un formulario en CodeIgniter para evitar distintos problemas de seguridad que se puedan presentar, como por ejemplo datos inconsistentes, longitudes de datos inesperadas o tipos de datos… Read More

La entrada Validar un formulario en CodeIgniter aparece primero en ProgramaciónExtrema.com.

]]>
Los formularios son muy comunes entre los sitios webs que desarrollamos hoy en día, ya que permiten cargar todo tipo de información. En este tutorial aprenderemos a validar un formulario en CodeIgniter para evitar distintos problemas de seguridad que se puedan presentar, como por ejemplo datos inconsistentes, longitudes de datos inesperadas o tipos de datos incorrectos.

Es importante mencionar que para este tutorial vamos a utilizar la versión 3.0.3 de CodeIgniter.

Cómo validar un formulario en CodeIgniter

Para validar un formulario primero vamos a necesitar crear uno, en este caso dentro de la carpeta application/views vamos a crear el archivo formulario.php con el siguiente contenido HTML

<?php
  defined('BASEPATH') OR exit('No direct script access allowed');
  ?><!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">
    <title>Welcome to CodeIgniter</title>
    <style type="text/css">
      .error{
      color: red;
      }
    </style>
  </head>
  <body>
    <div class="error">
      <?php echo validation_errors(); ?>
    </div>
    <?php echo form_open('formulario/procesar'); ?>
    <h5>Nombre de usuario</h5>
    <input type="text" name="username" value="<?php echo set_value('username'); ?>" size="50" />
    <h5>Password</h5>
    <input type="text" name="password" value="<?php echo set_value('password'); ?>" size="50" />
    <h5>Confirmar Password</h5>
    <input type="text" name="passconf" value="<?php echo set_value('passconf'); ?>" size="50" />
    <h5>Email</h5>
    <input type="text" name="email" value="<?php echo set_value('email'); ?>" size="50" />
    <div><input type="submit" value="Submit" /></div>
    </form>
  </body>
</html>

Del formulario anterior es importante mencionar que vamos a validar un nombre de usuario, un password con la confirmación y un email.
Con la función validation_errors() vamos a mostrar los errores que resulten de validar los campos, mientras que con la función form_open(‘formulario/procesar’) vamos a generar el tag form con el action apuntando al controlador ‘formulario/procesar’.

Luego de definir el formulario vamos a crear el controlar con las acciones para mostrar y procesar los datos enviados desde el formulario. Dentro del directorio application/controllers vamos a crear el archivo Formulario.php con el siguiente código:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Formulario extends CI_Controller
{
    
    function __construct()
    {
        parent::__construct();
        $this->load->helper('form');
        $this->load->helper('url');
    }
    
    public function index()
    {
        $this->load->view('formulario');
    }
    
    public function procesar()
    {
        $this->load->library('form_validation');
        $this->form_validation->set_rules('username', 'Nombre de usuario', 'required|min_length[5]|max_length[12]');
        $this->form_validation->set_rules('password', 'Password', 'required|matches[passconf]');
        $this->form_validation->set_rules('passconf', 'Confirmar Password', 'required');
        $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
        
        if ($this->form_validation->run() == FALSE) {
            $this->load->view('formulario');
        } else {
            echo "Datos cargador correctamente";
        }
        
    }
}

La función index() va a ser la encargada de imprimir la vista del formulario, mientras que la función procesar() se va a encargar de obtener los datos cargados y enviados desde el formulario por el método post para luego validarlos.

Antes de comenzar con la validación necesitamos cargar la librería form_validation:

$this->load->library('form_validation');

Luego con la función set_rules() vamos establecer las reglas de validación para un campo determinado, en orden cascada.
El método tiene tres parámetros obligatorios y uno opcional:

  1. El nombre del campo, el que se indicó en el formulario.
  2. El nombre del campo para mostrar al usuario, que se insertará en el mensaje de error. Por ejemplo, si el campo se llama «usuario», un mensaje de error podría ser «El campo usuario es obligatorio».
  3. Las reglas de validación para el campo del formulario.
  4. Mensajes de errores personalizados (parámetro opcional) sobre las reglas dadas para el campo actual. Si no se proporciona utilizará el predeterminado.

Si en nuestro ejemplo tomamos las validaciones que definimos para el campo ‘username’:

$this->form_validation->set_rules('username', 'Nombre de usuario', 'required|min_length[5]|max_length[12]');

Vamos a ver que estamos definiendo 4 reglas:

  • required: Para indicar que el campo es obligatorio.
  • min_length[5]: Con longitud mínima de 5 caracteres.
  • max_length[12]: Con longitud máxima de 12 caracteres.

Luego para ejecutar dichas validaciones utilizamos la función $this->form_validation->run(), la cual retorna FALSE en caso de que algún campo no cumpla con las reglas especificadas.

Al validar el formulario, el resultado en nuestros navegadores sería el siguiente:

Validar un formulario en CodeIgniter

Validar un formulario en CodeIgniter

Listado de reglas para validar un formulario

CodeIgniter ofrece muchas reglas de validación, a continuación un listado de las más interesantes:

  • valid_email: Para validar un campo de tipo email.
  • valid_url: Para validar una URL.
  • valid_ip: Para validar una IP.
  • is_natural: Para validar que un número sea natural.
  • numeric: Para validar que el contenido de un campo sea numérico
  • alpha: Para validar que el valor de un campo no contenga caracteres especiales (ideal para el nombre de usuario).
  • matches: Para validar que 2 campos de un formulario tengan el mismo contenido (como en nuestro ejemplo).
  • is_unique: Para validar que el contenido de un campo del formulario no exista en la base de datos (ideal para registro de usuarios)

Bueno gente, hemos llegado al fina de este tutorial en el cual explicamos cómo validar un formulario en CodeIgniter, si quieren saber un poco más los invito a pasar por la documentación oficial https://www.codeigniter.com/userguide3/libraries/form_validation.html. Ante cualquier problema no duden en dejar un comentario.

La entrada Validar un formulario en CodeIgniter aparece primero en ProgramaciónExtrema.com.

]]>
https://programacionextrema.com/2015/12/10/validar-un-formulario-en-codeigniter/feed/ 0
Validar email en php https://programacionextrema.com/2015/10/12/validar-email-en-php/ https://programacionextrema.com/2015/10/12/validar-email-en-php/#respond Mon, 12 Oct 2015 18:20:49 +0000 http://programacionextrema.com/?p=44 Las validaciones en PHP o cualquier otro lenguajes son muy importantes, ya que permiten corroborar que los datos ingresados por diversos usuarios son los esperados. Por ejemplo realizando las validaciones adecuadas se pueden evitar ataques a un sitio web a través de inyecciones SQL. Para validad un email en PHP se puede utilizar las tan temibles… Read More

La entrada Validar email en php aparece primero en ProgramaciónExtrema.com.

]]>
Las validaciones en PHP o cualquier otro lenguajes son muy importantes, ya que permiten corroborar que los datos ingresados por diversos usuarios son los esperados. Por ejemplo realizando las validaciones adecuadas se pueden evitar ataques a un sitio web a través de inyecciones SQL.

Para validad un email en PHP se puede utilizar las tan temibles expresiones regulares, que básicamente sirven para encontrar una determinada combinación de caracteres dentro de una cadena de texto. Para utilizar estas expresiones en PHP vamos utilizar la función preg_match() la cual recibe dos parámetros, por un lado la expresión regular y por el otro el email el cual se desea validar:

<?php 
  if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/', "mi.email.correcto@gmail.com")) {
    echo "El email mi.email.correcto@gmail.com es correcto."; 
  }

  if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/', "mi.email.incorrecto")) {
    echo "El email mi.email.incorrecto es correcto."; 
  } ?>

El resultado de ejecutar el código anterior sería: «El email mi.email.correcto@gmail.com es correcto.»

Otra opción, tal vez la mas sencilla que proporciona PHP, es la función filter_var(), la cual aparte de validar los email, también valida los números o ip.

El siguiente código muestra un ejemplo sencillo del uso de la función filter_var():

<?php 
  $email_correcto = "mi.email.correcto@gmail.com";

  $email_incorrecto = "mi.email.incorrecto";

  if (filter_var($email_incorrecto, FILTER_VALIDATE_EMAIL)) {
    echo "Esta dirección de correo ($email_incorrecto) es válida.";
  }

  if (filter_var($email_correcto, FILTER_VALIDATE_EMAIL)) {
    echo "Esta dirección de correo ($email_correcto) es válida.";
  }
?>

Obviamente que el resultado de ejecutar este código va a ser: «Esta dirección de correo (mi.email.correcto@gmail.com) es válida.»

Estas son dos formas distintas de realizar validaciones de email en php que siempre son muy útiles y recomendables para realizar en un sitio web.

La entrada Validar email en php aparece primero en ProgramaciónExtrema.com.

]]>
https://programacionextrema.com/2015/10/12/validar-email-en-php/feed/ 0