jueves, 16 de marzo de 2017

Variables de Sesión en PHP

En este post compartiré un código que encontré buscando en mis viejos archivos y proyectos, es un código para obtener variables de sesión en un login realizado en PHP y Mysql.

Primero empezaremos con el formulario para el login, y definiremos los name de los input como email y password.


<form action="login.php" method="POST">
<input type="text" name="email">
<Input type="pass" name="password">
<input type="submit" name="login" value="Iniciar Sesión" />

Ahora en el archivo login.php al cual se va a dirigir y llevar nuestros datos vamos a poner el siguiente código


<?php
   //Start session
   session_start();
   
   $errmsg_arr = array();
   
   //Validation error flag
   $errflag = false;
   
Aqui incluimos nuestro archivo de conexión a base de datos
  require_once('../conexion.php'); 
   
Aquí definimos las variables $email y $password con los datos capturados en los inputs

   $email = $_POST['email'];   
   $password = $_POST['password'];
   
      
   //If there are input validations, redirect back to the login form
   if($errflag) {
      $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
      session_write_close();
      header("location: index.php");
      exit();
   }
   
En este apartado seleccionamos de nuestra base de datos llamada users los usuarios que coincidan con que el email y el password sean correctos
   //Create query
   $qry="SELECT * FROM users WHERE email='$email' AND password='$password'";
   $result=mysqli_query($link,$qry);
   
   //Check whether the query was successful or not
   if($result) {
      if(mysqli_num_rows($result) == 1) {
         //Login Successful
         session_regenerate_id();
         $member = mysqli_fetch_assoc($result);            
         
En esta parte del código llamamos a nuestros campos creados en la base de datos, al final del post se puede ver la base de datos, en este caso hemos llamado a los campos: id, nombre, ciudad y email, creando variables para cada uno de ellos tales como $_SESSION['ID']....etc, estas pueden ser llamadas a nuestro gusto.

         $_SESSION['ID'] = $member['id'];
         $_SESSION['NAME'] = $member['nombre'];        
         $_SESSION['CIUDAD'] = $member['ciudad'];
         $_SESSION['EMAIL'] = $member['email'];
           
            
         session_write_close();
Si esta bien nos dirigimos al perfil
         header("location: perfil.php");
         exit();
      }else {
         //Login failed
Si esta mal nos dirigimos a otro sitio donde nos pida verificar los datos
         header("location: datos_mal.php");
         exit();
      }
   }else {
      die("Query failed");
   }

?>










0 comentarios:

Publicar un comentario