jueves, 2 de febrero de 2017

Php conectar a bbdd y variables de sesion

Vamos a ver como conectarnos a una base de datos y crear las variables de sesión del usuario que se conecta iniciando sesión.

Podemos ver como primero se hace obligatorio el inicio de sesión, declaramos globales las variables $db y $db_name, y llamamos al archivo de conexiones.
Este archivo es el siguiente conection.php:
<?php
                $db_host = '127.0.0.1';
                $db_user = 'Nombre Usuario';
                $db_pass = 'Password';
                $db_name = 'Nombre_bbdd';
 ?>
Aquí declaramos el valor de las variables de conexión al a bbdd.

Continuamos.
<?php
session_start();

    require 'conection.php';

    global $db;
    global $db_name;

/*
 En la variable $db contenemos la sentencia de conexión. Si esta no se cumple nos pasa los errores de conexión.
*/
   $db = mysqli_connect($db_host,$db_user,$db_pass,$db_name);
    if (!$db){ die ("Es imposible conectar con la bbdd ".$db_name."</br>".mysqli_connect_error());
                }

/* Con la sentencia sql consultamos los datos de este usuario en concreto */ 

    $sql =  "SELECT * FROM `admin` WHERE `Usuario` = '$_POST[Usuario]' AND `Password` = '$_POST[Password]'";
    
// En $q creamos un objeto y en $row recorremos este objeto tratandolo como un array asociativo.
    $q = mysqli_query($db, $sql);
    $row = mysqli_fetch_assoc($q);
   
/* Ahora solo tenemos que recoger los datos de $row[''] en variables Super Globales y estas serán las variables de sesión de este usuario. */

    $_SESSION['ID'] = $row['ID'];
    $_SESSION['ref'] = $row['ref'];
    $_SESSION['Nivel'] = $row['Nivel'];
    $_SESSION['Nombre'] = $row['Nombre'];
    $_SESSION['Apellidos'] = $row['Apellidos']; 
    $_SESSION['Usuario'] = $row['Usuario'];
    $_SESSION['Password'] = $row['Password'];

/* Podemos crear una función que al cerrar la sesión mate las variables Super Globales de este usuario. */ 

    function salir() {unset($_SESSION['ID']);
                            unset($_SESSION['ref]);
                            unset($_SESSION['Nivel']);
                            unset($_SESSION['Nombre']);
                            unset($_SESSION['Apellido']);
                            unset($_SESSION['Usuario']);
                            unset($_SESSION['Password']);

                    print("SE HA CERRADO LA SESIÓN.</br>");
                }
    

?>


No hay comentarios:

Publicar un comentario

Gracias por vuestros aportes.