formulario 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 formulario 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
Subir archivos en PHP https://programacionextrema.com/2015/10/25/subir-archivos-en-php/ https://programacionextrema.com/2015/10/25/subir-archivos-en-php/#comments Sun, 25 Oct 2015 02:03:28 +0000 http://programacionextrema.com/?p=274 Hoy en día es muy común encontrarse con la necesidad de subir archivos en PHP, es por ese motivo que en este tutorial aprenderemos a realizarlo con un ejemplo muy sencillo. Si tenés pocos conocimientos en PHP te recomiendo leer este otro tutorial donde se explica cómo crear un formulario básico en PHP. Para realizar… Read More

La entrada Subir archivos en PHP aparece primero en ProgramaciónExtrema.com.

]]>
Hoy en día es muy común encontrarse con la necesidad de subir archivos en PHP, es por ese motivo que en este tutorial aprenderemos a realizarlo con un ejemplo muy sencillo.
Si tenés pocos conocimientos en PHP te recomiendo leer este otro tutorial donde se explica cómo crear un formulario básico en PHP.

Para realizar esto necesitamos de dos partes, por un lado un formulario en HTML y por el otro un script en PHP. Desde el formulario en HTML el usuario va a cargar un archivo y enviarlo al servidor, luego el script en PHP va a recibir el archivo y guardarlo en un directorio.

Cómo subir archivos en PHP

Para empezar vamos a crear un archivo en HTML el cual contendrá el siguiente código:

<form method="post" action="upload.php" enctype="multipart/form-data">
  <input type="file" name="Archivo"> 
  <input type="submit" name="enviar" value="Enviar">
</form>

Es importante prestar atención a la propiedad del formulario enctype=»multipart/form-data», si no se indicara esta, el archivo no se enviaría al servidor y en consecuencia no tendría ningún efecto.

Una vez que tenemos nuestro formulario en HTML podemos pasar al script en PHP el cual recibirá el archivo y lo guardará en un directorio de nuestro servidor. Para esto crearemos un archivo llamado upload.php (tiene que coincidir con la propiedad action del formulario en HTML) con el siguiente código:

<?php
  move_uploaded_file($_FILES['archivo']['tmp_name'],'images/upload/'.$FILES['archivo']['name']);
?>

Solamente con esa linea de código ya estamos subiendo nuestro archivo. La función move_uploaded_file es la encargada de hacer dicha tarea, esta función recibe como primer parámetro el archivo a subir y como segundo parámetro la ruta en nuestro servidor donde queremos guardarlo. Obviamente que hay que crear el directorio images/upload/ (en nuestro caso) y darle permisos de escritura (777) para que PHP pueda almacenar el fichero.
Una cosa importante a mencionar es que el array $_FILES contiene información del archivo que usamos para obtener el nombre temporal con el que se ha subido y su nombre real. Otra cosa a tener en cuenta es que el nombre que usamos en nuestro código para identificar al archivo (en nuestro caso es ‘archivo’) lo definimos con la propiedad name en nuestro HTML, pero el nombre puede variar según nuestros gustos.

Bueno gente, espero que les haya sido útil este tutorial y ante cualquier problema no duden en dejar un comentario.

La entrada Subir archivos en PHP aparece primero en ProgramaciónExtrema.com.

]]>
https://programacionextrema.com/2015/10/25/subir-archivos-en-php/feed/ 1
Login en PHP con base de datos MYSQL https://programacionextrema.com/2015/10/21/login-en-php-con-base-de-datos-mysql/ https://programacionextrema.com/2015/10/21/login-en-php-con-base-de-datos-mysql/#comments Wed, 21 Oct 2015 00:49:10 +0000 http://programacionextrema.com/?p=221 Este tutorial es la continuación del de cómo hacer un login en PHP, así que antes de comenzar con este les recomiendo darle un vistazo. En el tutorial mencionado anteriormente hicimos un login en PHP y Bootstrap sin usar una base de datos, en este vamos a introducirla para poder realizar la validación correcta de… Read More

La entrada Login en PHP con base de datos MYSQL aparece primero en ProgramaciónExtrema.com.

]]>
Este tutorial es la continuación del de cómo hacer un login en PHP, así que antes de comenzar con este les recomiendo darle un vistazo.
En el tutorial mencionado anteriormente hicimos un login en PHP y Bootstrap sin usar una base de datos, en este vamos a introducirla para poder realizar la validación correcta de un usuario ya registrado.

Agregando login en PHP con base de datos MYSQL

Para realizar esto vamos a tener que modificar el archivo login.php que habíamos hecho en el tutorial anterior:

<?php
  session_start();
  
  // Obtengo los datos cargados en el formulario de login.
  $email = $_POST['email'];
  $password = $_POST['password'];
  
  // Datos para conectar a la base de datos.
  $nombreServidor = "localhost";
  $nombreUsuario = "root";
  $passwordBaseDeDatos = "";
  $nombreBaseDeDatos = "prueba";
 
  // Crear conexión con la base de datos.
  $conn = new mysqli($nombreServidor, $nombreUsuario, $passwordBaseDeDatos, $nombreBaseDeDatos);
  
  // Validar la conexión de base de datos.
  if ($conn ->connect_error) {
    die("Connection failed: " . $conn ->connect_error);
  }
  
  // Consulta segura para evitar inyecciones SQL.
  $sql = sprintf("SELECT * FROM usuarios WHERE email='%s' AND password = %s", mysql_real_escape_string($email), mysql_real_escape_string($password));
  $resultado = $conn->query($sql);
  
  // Verificando si el usuario existe en la base de datos.
  if($resultado){
	// Guardo en la sesión el email del usuario.
	$_SESSION['email'] = $email;
	
	// Redirecciono al usuario a la página principal del sitio.
	header("HTTP/1.1 302 Moved Temporarily"); 
    header("Location: principal.php"); 
  }else{
	echo 'El email o password es incorrecto, <a href="index.html">vuelva a intenarlo</a>.<br/>';
  }

?>

Aparte de agregar el código necesario para conectar a la base de datos y obtener el usuario con su email y password debemos prestar atención a la linea:

if($resultado){

Es donde se chequea si el usuario consultado en la base de datos existe o no.

Bueno espero que se haya entendido y ante cualquier problema no duden en dejar un comentario.

La entrada Login en PHP con base de datos MYSQL aparece primero en ProgramaciónExtrema.com.

]]>
https://programacionextrema.com/2015/10/21/login-en-php-con-base-de-datos-mysql/feed/ 4
Login en PHP y Bootstrap https://programacionextrema.com/2015/10/20/login-en-php-y-bootstrap/ https://programacionextrema.com/2015/10/20/login-en-php-y-bootstrap/#comments Tue, 20 Oct 2015 23:27:09 +0000 http://programacionextrema.com/?p=215 En este tutorial aprenderemos a realizar un login en PHP usando sesiones y bootstrap para el diseño. Antes de comenzar les recomiendo leer el tutorial donde se explica cómo crear un formulario en PHP y también el de cómo conectar a una base de datos mysql desde PHP. Creando un login en PHP Vamos a… Read More

La entrada Login en PHP y Bootstrap aparece primero en ProgramaciónExtrema.com.

]]>
En este tutorial aprenderemos a realizar un login en PHP usando sesiones y bootstrap para el diseño. Antes de comenzar les recomiendo leer el tutorial donde se explica cómo crear un formulario en PHP y también el de cómo conectar a una base de datos mysql desde PHP.

Creando un login en PHP

Vamos a empezar creando nuestro formulario con HTML y Bootstrap. El siguiente código lo podemos incluir en un archivo llamado index.html:

<!DOCTYPE html>
<html>
  <head>
    <title>Login en PHP</title>
    <meta name="viewport" content="initial-scale=1.0">
    <meta charset="utf-8">
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
    <style>
      .container{margin-top:100px}
    </style>
  </head>
  <body>
    <div class="container">
      <form class="form-horizontal" action="login.php" method="post">
        <div class="form-group">
          <label for="inputEmail3" class="col-sm-2 control-label">Email</label>
          <div class="col-sm-10">
            <input type="email" class="form-control" name="email" id="inputEmail3" placeholder="Email" required>
          </div>
        </div>
        <div class="form-group">
          <label for="inputPassword3" class="col-sm-2 control-label">Password</label>
          <div class="col-sm-10">
            <input type="password" class="form-control" name="password" id="inputPassword3" placeholder="Password" required>
          </div>
        </div>
        <div class="form-group">
          <div class="col-sm-offset-2 col-sm-10">
            <button type="submit" class="btn btn-default">Sign in</button>
          </div>
        </div>
      </form>
    </div>
  </body>
</html>

En este formulario HTML no hay nada nuevo, lo único importante es que al oprimir el botón se envía el email y password por método post al archivo login.php.

En el archivo login.php vamos a incluir la lógica para validar el usuario y realizar una determinada acción si el mismo es incorrecto o no:

<?php
  session_start();

  // Obtengo los datos cargados en el formulario de login.
  $email = $_POST['email'];
  $password = $_POST['password'];
  
  // Esto se puede remplazar por un usuario real guardado en la base de datos.
  if($email == 'email@dominio.com' && $password == '1234'){
	// Guardo en la sesión el email del usuario.
	$_SESSION['email'] = $email;
	
	// Redirecciono al usuario a la página principal del sitio.
	header("HTTP/1.1 302 Moved Temporarily"); 
    header("Location: principal.php"); 
  }else{
	echo 'El email o password es incorrecto, <a href="index.html">vuelva a intenarlo</a>.<br/>';
  }

?>

En el código anterior se puede ver que si el usuario es el incorrecto lo redirige nuevamente a la página de inicio y en caso de que sea el correcto a la página principal del sistema.

En la página principal del sistema le vamos a dar la bienvenida al usuario y la posibilidad de cerrar sesión. El siguiente código lo podemos incluir en un archivo llamado principal.php:

<?php
  session_start();
  
  // Controlo si el usuario ya está logueado en el sistema.
  if(isset($_SESSION['email'])){
    // Le doy la bienvenida al usuario.
    echo 'Bienvenido <strong>' . $_SESSION['email'] . '</strong>, <a href="cerrar-sesion.php">cerrar sesión</a>';
  }else{
    // Si no está logueado lo redireccion a la página de login.
    header("HTTP/1.1 302 Moved Temporarily"); 
    header("Location: index.html"); 
  }
?>

En esta página se controla si el usuario ya esta logueado, si es así se muestra el mensaje de bienvenida y un link para cerrar la sesión, en caso que no este logueado se lo redirige a la página de inicio.

Por último nos falta la página para cerrar sesión. Para esto podemos crear el archivo cerrar-sesion.php e incluir el siguiente código:

<?php
  session_start();
  
  // Elimina la variable email en sesión.
  unset($_SESSION['email']); 

  // Elimina la sesion.
  session_destroy();
  
  // Redirecciona a la página de login.
  header("HTTP/1.1 302 Moved Temporarily"); 
  header("Location: index.html");
?>

Ahora si queremos agregarle una base de datos MYSQL a nuestro login debemos seguir los pasos del tutorial: http://programacionextrema.com/2015/10/21/login-en-php-con-base-de-datos-mysq.

Bueno, hemos llegado al final de este tutorial, espero que les sea de gran utilidad y como digo siempre ante cualquier problema no duden en dejar un comentario.

La entrada Login en PHP y Bootstrap aparece primero en ProgramaciónExtrema.com.

]]>
https://programacionextrema.com/2015/10/20/login-en-php-y-bootstrap/feed/ 7
Crear un formulario en php (Básico) https://programacionextrema.com/2015/10/12/crear-un-formulario-en-php-basico/ https://programacionextrema.com/2015/10/12/crear-un-formulario-en-php-basico/#comments Mon, 12 Oct 2015 04:21:23 +0000 http://programacionextrema.com/?p=39 Uno de los conceptos básico que se debe tener en cuenta a la hora de desarrollar un sitio web es el de los formularios. Un formulario en php o cualquier otro lenguaje sirve para enviar datos (ingresados por un usuario) a un servidor con el fin procesarlos y/o guardarlos en una base de datos. Un… Read More

La entrada Crear un formulario en php (Básico) aparece primero en ProgramaciónExtrema.com.

]]>
Uno de los conceptos básico que se debe tener en cuenta a la hora de desarrollar un sitio web es el de los formularios. Un formulario en php o cualquier otro lenguaje sirve para enviar datos (ingresados por un usuario) a un servidor con el fin procesarlos y/o guardarlos en una base de datos. Un formulario puede incluir distintos campos, tales como los numéricos, fechas, textos, contraseñas, etc. Usualmente son utilizados para registrarse en un sitio web, iniciar sesión o cargar cualquier tipo de datos.

En este artículo vamos a crear un formulario en php para entender como funcionan, con un ejemplo muy simple, para que cualquier persona sin muchos conocimientos pueda entenderlo.

Ejemplo de un formulario en php

La vista para cargar los datos en el formulario la vamos a realizar en html, alcanza solo con copiar el siguiente código en un archivo con extensión html:

<html>
  <head>
    <title>Formulario en php (Básico)</title>
  </head>
  <body>
    <form action="procesar.php" method="post">
      <input name="nombre" type="text">
      <input type="submit" value="Envar">
    </form>
  </body>
</html>

En el código anterior se puede ver toda la estructura html, pero lo que nos importa ahora es la etiqueta form, con esta etiqueta ya estamos creando nuestro formulario en php. Esta etiqueta contiene la propiedad action, con la cual se indica quien va a procesar los datos, en nuestro caso va a ser el archivo procesar.php, otra propiedad que contiene es la de method, la cual sirve para indicar de que forma se van a enviar esos datos, en nuestro caso el método va a ser post. Los principales métodos utilizados son get y post, la diferencia pasa por como se envían los datos. En el método get los datos se envían por la url, en cambio en el método post se enviar a través del servidor.

Dentro de la etiqueta form se pueden incluir etiquetas input, a estas etiquetas se les puede indicar el tipo usando la propiedad type, el cual sirve para determinar si un input es un campo de texto o numérico e incluso un botón.

En nuestro ejemplo de formulario en php, al primer input le indicamos que es de tipo text (texto) y al segundo de tipo submit. El tipo submit es para indicar que es un botón y al presionarlo se va a encargar de enviar los datos al archivo indicado en el action, en nuestro caso a procesar.php.

Además de indicar un tipo, también se les puede indicar un nombre mediante la propiedad name, la cual veremos su utilidad de lado de php.

Luego de crear el formulario en html debemos pasar al segundo paso, en el cual se debe procesar los datos recibidos del formulario. El código del archivo procesar.php quedaría de la siguiente manera:

<?php
  $nombre = $_POST['nombre'];
  echo 'Hola '. $nombre;
?>

Todos los parámetros enviados desde un formulario a través del método post se pueden obtener con la variable $_POST, esta variable es de tipo array y en nuestro caso para obtener el nombre ingresado en el formulario debemos hacer $_POST[‘nombre’], donde ‘nombre’ viene de la propiedad name indicada en el input, luego en la siguiente linea se muestra en pantalla el nombre ingresado.

Eso es todo lo básico que se tiene que saber. Obviamente que en este formulario en php se podrían hacer cosas más interesante, como validar los datos ingresados o guardarlos en una base de datos, pero igualmente estos temas los vamos a ir viendo en las siguientes entradas.

La entrada Crear un formulario en php (Básico) aparece primero en ProgramaciónExtrema.com.

]]>
https://programacionextrema.com/2015/10/12/crear-un-formulario-en-php-basico/feed/ 2