PHP session variables

0

I am trying to make a login that takes several pages if you log in. I want to put a session variable, but I do not know how it works. I have this code:

<?php

session_start();
require('../Funciones/funciones.php');

////Datos db
$usuario = "usu";
$password = "pass";
$servidor = "ser";
$basededatos = "db";

ini_set('display_errors', 'On');

// Valor por defecto en PHP
// Muestra todos los errores menos las notificaciones
error_reporting(E_ALL ^ E_NOTICE);

// Muestro todos los errores
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
error_reporting(E_ALL);
error_reporting(-1);

// Muestro todos los errores, incluso los estrictos
error_reporting(E_ALL | E_STRICT);

// No muestra ningún error
error_reporting(0);

// También se puede usar la función ini_set
ini_set('error_reporting', E_ALL);

 //// Recoger variables ////
$usuarior = $_POST['usuarior'];
$contrasenya = $_POST['contrasenya'];


////Crear conexion
$conexion = mysqli_connect($servidor, $usuario, $password)
or die("No se ha podido conectar a la base de datos");

////Seleccionar db
$db = mysqli_select_db($conexion, $basededatos)
or die("Uppppss! No se ha podido conectar a la base de datos");

////Establecer y realizar consulta
$sql = "SELECT * FROM usuarios";

$resultado = mysqli_query($conexion, $sql);

//variables para iniciar sesión
$encontrado=false;
$rolElegido = "";


//Recorrer las filas para ver si usuario y contraseña coinciden e iniciar sesión o no
if(isset($usuarior) && isset($contrasenya)){
    while($fila = mysqli_fetch_assoc($resultado)){

        $filaUsuario = $fila["usuario"];
        $filaContrasenya = $fila["contrasenya"];

        if($usuarior == $filaUsuario && $contrasenya == $filaContrasenya){

            $_SESSION['usuarior'] = $usuarior;

            echo "<script>alert('Se ha conectado correctamente')</script>";
                $encontrado = true;
                $rolElegido = $fila["rol"];

                //Si usuario y contraseña coincide, elegir rol

                if($rolElegido == "administrador"){
                    echo "<script>window.location='../Administrador/index.php'</script>";
                }else{
                    echo "<script>window.location='../Usuario/index.php?usuarior=$usuarior'</script>";
                    }
                break;
                 //asisganar variables de sesion con el nombre de usuario y el roll

        }
    }//end while


    //Si susario y contraseña coinciden o no coinciden , hacer: 
    if ($encontrado == false){
        echo "<script>alert('Error al iniciar sesión. Usuario no identificado.')</script>";
        echo "<script>window.location='login.php'</script>";
    }
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Iniciar sesión</title>
</head>
<body style="font-face: Verdana; font-size: 30px; background:url(color-degradado-fondos-degradados-multicolor-51200.jpg); background-repeat:no-repeat">

    <div style = "margin-top: 200px; width: 400px; height:300px; background-color: white;margin-left: 34%; border: 1px solid #D0D0D0">
        <div align = "center">
            <h5 style = "color: #757474; font-family:Arial, Helvetica, sans-serif">Registro de marcas</h5>
            <p style = "margin-top: -35px;color: #D0D0D0; font-family:Arial, Helvetica, sans-serif; font-size: 15px; font-weight:600">Inicia sesión para editar, crear o eliminar marcas</p>
        </div>
        <form method="post" action="<? echo $_SERVER['PHP_SELF'] ?>">
                <label><input style = "margin-left: 10%; margin-top: 10px; width: 80%; height: 30px; text-align: center; font-size: 15px; color: #A3A3A3" type="text" required placeholder="Nombre de usuario" name="usuarior" id="usuarior"/></label>
                <label><input style = "margin-left: 10%; margin-top: 10px; margin-bottom: 15px; width: 80%; height: 30px; text-align: center; font-size: 15px; color: #A3A3A3" type="password" required placeholder="Contraseña" name="contrasenya" id="contrasenya"/></label>
                <input style = "margin-left: 10%; margin-top: 5px; width: 80%; height: 30px; text-align: center; font-size: 15px; color: white; background-color: #04C4CC" type="submit" value="Iniciar sesión"/>
        </form>
    </div>
</body>
</html>

This is the function I try to use to make the session variables:

function verificar_session(){
    if(!isset($_SESSION['usuarior'])){
        echo "<script>window.location='../Login/login.php'</script>";
    }else{
        echo "Funciona";
    }
}

And this code is an example of where it would take if I log in:

<?php

////Datos db
$usuario = "usu";
$password = "pas";
$servidor = "ser";
$basededatos = "db";

//session_start();
require('../Funciones/funciones.php');
verificar_session();
echo $_SESSION['usuarior'];

////Crear conexion
$conexion = mysqli_connect($servidor, $usuario, $password)
or die("No se ha podido conectar a la base de datos");

////Seleccionar db
$db = mysqli_select_db($conexion, $basededatos)
or die("Uppppss! No se ha podido conectar a la base de datos");

////Establecer y realizar consulta
$sql = "SELECT nombre FROM marcas";

?>

Let's see if you can help me, I've never done this for the session variables, thanks.

    
asked by RichardSC 21.05.2018 в 12:47
source

0 answers