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.