Diferència entre revisions de la pàgina «Sol gestion instituto»

De wikiserver
Dreceres ràpides: navegació, cerca
 
(Hi ha 3 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
<sources lang="html">
+
index.php
 +
<source lang="html">
 
<!DOCTYPE html>
 
<!DOCTYPE html>
 
<html lang="en">
 
<html lang="en">
Línia 23: Línia 24:
  
  
<sources lang="php">
+
manejadorsesiones.php
 +
 
 +
<source lang="php">
 
<?php
 
<?php
  
session_start();  
+
session_start();
  
 
$conn = mysqli_connect("localhost", "root","","roles");
 
$conn = mysqli_connect("localhost", "root","","roles");
Línia 32: Línia 35:
 
$usuario=$_POST["usuario"];
 
$usuario=$_POST["usuario"];
 
$password=$_POST["password"];
 
$password=$_POST["password"];
+
 
 
/* Realizamos una consulta por cada tabla para buscar en que tabla se encuentra  
 
/* Realizamos una consulta por cada tabla para buscar en que tabla se encuentra  
 
el usuario que está intentando acceder */
 
el usuario que está intentando acceder */
Línia 41: Línia 44:
  
  
/* Sabemos que en el caso que exista el usuario se encontrará en una de estas  
+
/* Sabemos que en el caso que exista el usuario se encontrará en una de estas
tres tablas, por lo tanto se guardará en alguno de nuestras tres variables  
+
tres tablas, por lo tanto se guardará en alguno de nuestras tres variables
 
que guardan nuestra consulta */
 
que guardan nuestra consulta */
+
 
 
/* Ahora comprobamos que variable contiene al usuario*/
 
/* Ahora comprobamos que variable contiene al usuario*/
  
 
$result = mysqli_fetch_object($resul);
 
$result = mysqli_fetch_object($resul);
//print_r($result);
+
print_r($result);
 +
if(!is_null($result)){  // para que no el warning en caso de no encontrar ningún usuario "Notice: Trying to get property of non-object in...."
  
 
+
if($result->role == "role_alumno")
if($result->role == "role_alumno")  
 
 
{
 
{
     /* Si entra en este if significa que el que intenta acceder es un alumno,  
+
     /* Si entra en este if significa que el que intenta acceder es un alumno,
 
     por lo tanto le creamos una sesión */
 
     por lo tanto le creamos una sesión */
 
     session_start();
 
     session_start();
+
 
     $_SESSION['alumno']=$_POST["usuario"];
+
     $_SESSION['usuario']=$_POST["usuario"];
 
     $_SESSION['role']="role_alumno";
 
     $_SESSION['role']="role_alumno";
      
+
     $_SESSION['start'] = time();
     /* Nos dirigimos al espacio de los alumnos usando header que nos  
+
    $_SESSION['expire'] = $_SESSION['start'] + (1 * 60); //1 minuto
 +
 
 +
     /* Nos dirigimos al espacio de los alumnos usando header que nos
 
     redireccionará a la página que le indiquemos */
 
     redireccionará a la página que le indiquemos */
 
     header("Location: ./espacio.php");
 
     header("Location: ./espacio.php");
 
     //header("Location: alumnos/espacioalumno.php");
 
     //header("Location: alumnos/espacioalumno.php");
+
 
     /* terminamos la ejecución ya que si redireccionamos ya no nos interesa  
+
     /* terminamos la ejecución ya que si redireccionamos ya no nos interesa
 
     seguir ejecutando código de este archivo */
 
     seguir ejecutando código de este archivo */
     exit();  
+
     exit();
 
}
 
}
+
 
 
/* Ahora comprobamos si el que intenta acceder es un profesor */
 
/* Ahora comprobamos si el que intenta acceder es un profesor */
else if($result->role == "role_profesor")  
+
else if($result->role == "role_profesor")
 
{
 
{
 
     session_start();
 
     session_start();
     $_SESSION['profesor']=$_POST["usuario"];
+
     $_SESSION['usuario']=$_POST["usuario"];
 
     $_SESSION['role']="role_profesor";
 
     $_SESSION['role']="role_profesor";
 +
    $_SESSION['start'] = time();
 +
    $_SESSION['expire'] = $_SESSION['start'] + (5 * 60);  //5 minutos
 +
 
     header("Location: espacio.php");
 
     header("Location: espacio.php");
  // header("Location: entrenador/espacioentrenador.php");
+
    // header("Location: entrenador/espacioentrenador.php");
     exit();  
+
     exit();
 
}
 
}
+
 
 
//comprobamos si es un director el que intenta abrir la sesión
 
//comprobamos si es un director el que intenta abrir la sesión
else if($result->role == "role_directora")  
+
else if($result->role == "role_directora")
 
{
 
{
 
     session_start();
 
     session_start();
     $_SESSION['director']=$_POST["usuario"];
+
     $_SESSION['usuario']=$_POST["usuario"];
 
     $_SESSION['role']="role_directora";
 
     $_SESSION['role']="role_directora";
 +
    $_SESSION['start'] = time();
 +
    $_SESSION['expire'] = $_SESSION['start'] + (5 * 60);
  
 
     header("Location: espacio.php");
 
     header("Location: espacio.php");
  // header("Location: administrador/espacioadministrador.php");
+
    // header("Location: administrador/espacioadministrador.php");
 
     exit();
 
     exit();
}  
+
}
else  
+
 
 +
}
 +
else
 
{
 
{
  /* Si no el usuario no se encuentra en ninguna de las tres tablas  
+
    /* Si no el usuario no se encuentra en ninguna de las tres tablas
  imprime el siguiente mensaje */
+
    imprime el siguiente mensaje */
  $mensajeaccesoincorrecto = "El usuario y la contraseña son incorrectos, por favor vuelva a introducirlos.";
+
    $mensajeaccesoincorrecto = "El usuario y la contraseña son incorrectos, por favor vuelva a introducirlos.";
  echo $mensajeaccesoincorrecto;  
+
    echo $mensajeaccesoincorrecto;
 
}
 
}
  
Línia 103: Línia 115:
 
</source>
 
</source>
  
 
+
espacio.php
<sources lang="php">
+
<source lang="php">
 
 
 
<?php
 
<?php
session_start();  
+
session_start();
 +
$now = time();    //si recargara la página comprobaria el tiempo actual y el fin de la sesión
 +
if($now > $_SESSION['expire']) {
 +
    session_destroy();
 +
  echo "Su sesion ha terminado <a href='index.html'>Necesita Hacer Login</a>";
 +
exit;
 +
}
  
 
if($_SESSION['role']=="role_alumno"){
 
if($_SESSION['role']=="role_alumno"){
echo "eres un alumno";
+
    echo "Bienvenido ALUMNO! " . $_SESSION['usuario'];
 +
    echo " Iniciaste sesión".date('Y m d H:i:s', $_SESSION['start']);
 +
    echo "  Te queda de sesión".date('Y m d H:i:s', $_SESSION['expire']);
  
 +
}elseif ($_SESSION['role']=="role_profesor") {
 +
    echo "Bienvenido TEACHER! " . $_SESSION['usuario'];
 +
    echo " Iniciaste sesión".date('Y m d H:i:s', $_SESSION['start']);
 +
    echo "  Te queda de sesión".date('Y m d H:i:s', $_SESSION['expire']);
  
}elseif ($_SESSION['role']=="role_profesor") {
 
echo "Teacher grande";
 
 
}elseif ($_SESSION['role']=="role_directora") {
 
}elseif ($_SESSION['role']=="role_directora") {
echo "Jefa suprema";
+
    echo "Bienvenido JEFA SUPREMA! " . $_SESSION['usuario'];
 +
    echo " Iniciaste sesión".date('Y m d H:i:s', $_SESSION['start']);
 +
    echo "  Te queda de sesión".date('Y m d H:i:s', $_SESSION['expire']);
 
}
 
}
  
 
?>
 
?>
  
 +
<a href="./cerrar.php">cerrar</a>
 +
</source>
 +
 +
cerrar.php
 +
<source lang="php">
 +
<?php
 +
session_start();
 +
 +
/* comprobamos que un usuario registrado es el que accede al archivo,
 +
sino no tendría sentido que pasara por este archivo */
 +
if (!isset($_SESSION['usuario']))
 +
{
 +
    header("location:./index.html");
 +
}
 +
 +
/* usamos la función session_unset() para liberar la variable
 +
de sesión que se encuentra registrada */
 +
session_unset($_SESSION['usuario']);
 +
session_unset($_SESSION['role']);
 +
 +
// Destruye la información de la sesión
 +
session_destroy();
 +
 +
//volvemos a la página principal
 +
header("location:./index.html"); ?>
 
</source>
 
</source>

Revisió de 13:13, 25 gen 2018

index.php

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<form  action="manejadorsesiones.php" method="post">
 
   <input name="usuario" type="text" placeholder="Usuario" />
 
   <input name="password"  type="password" placeholder="Contraseña" />
 
   <input type="submit" value="Acceder" class="enviar">
 
</form>

	
</body>
</html>


manejadorsesiones.php

<?php

session_start();

$conn = mysqli_connect("localhost", "root","","roles");
//Recibimos las dos variables
$usuario=$_POST["usuario"];
$password=$_POST["password"];

/* Realizamos una consulta por cada tabla para buscar en que tabla se encuentra 
el usuario que está intentando acceder */
$sql="SELECT * FROM administracion WHERE usuario = '$usuario' AND password = '$password'";

//echo $sql;
$resul = mysqli_query($conn, $sql);


/* Sabemos que en el caso que exista el usuario se encontrará en una de estas
tres tablas, por lo tanto se guardará en alguno de nuestras tres variables
que guardan nuestra consulta */

/* Ahora comprobamos que variable contiene al usuario*/

$result = mysqli_fetch_object($resul);
print_r($result);
if(!is_null($result)){  // para que no el warning en caso de no encontrar ningún usuario "Notice: Trying to get property of non-object in...."

if($result->role == "role_alumno")
{
    /* Si entra en este if significa que el que intenta acceder es un alumno,
    por lo tanto le creamos una sesión */
    session_start();

    $_SESSION['usuario']=$_POST["usuario"];
    $_SESSION['role']="role_alumno";
    $_SESSION['start'] = time();
    $_SESSION['expire'] = $_SESSION['start'] + (1 * 60); //1 minuto

    /* Nos dirigimos al espacio de los alumnos usando header que nos
    redireccionará a la página que le indiquemos */
    header("Location: ./espacio.php");
    //header("Location: alumnos/espacioalumno.php");

    /* terminamos la ejecución ya que si redireccionamos ya no nos interesa
    seguir ejecutando código de este archivo */
    exit();
}

/* Ahora comprobamos si el que intenta acceder es un profesor */
else if($result->role == "role_profesor")
{
    session_start();
    $_SESSION['usuario']=$_POST["usuario"];
    $_SESSION['role']="role_profesor";
    $_SESSION['start'] = time();
    $_SESSION['expire'] = $_SESSION['start'] + (5 * 60);  //5 minutos

    header("Location: espacio.php");
    // header("Location: entrenador/espacioentrenador.php");
    exit();
}

//comprobamos si es un director el que intenta abrir la sesión
else if($result->role == "role_directora")
{
    session_start();
    $_SESSION['usuario']=$_POST["usuario"];
    $_SESSION['role']="role_directora";
    $_SESSION['start'] = time();
    $_SESSION['expire'] = $_SESSION['start'] + (5 * 60);

    header("Location: espacio.php");
    // header("Location: administrador/espacioadministrador.php");
    exit();
}

}
else
{
    /* Si no el usuario no se encuentra en ninguna de las tres tablas
    imprime el siguiente mensaje */
    $mensajeaccesoincorrecto = "El usuario y la contraseña son incorrectos, por favor vuelva a introducirlos.";
    echo $mensajeaccesoincorrecto;
}

?>

espacio.php

<?php
session_start();
$now = time();     //si recargara la página comprobaria el tiempo actual y el fin de la sesión
if($now > $_SESSION['expire']) {
    session_destroy();
   echo "Su sesion ha terminado <a href='index.html'>Necesita Hacer Login</a>";
exit;
}

if($_SESSION['role']=="role_alumno"){
    echo "Bienvenido ALUMNO! " . $_SESSION['usuario'];
    echo " Iniciaste sesión".date('Y m d H:i:s', $_SESSION['start']);
    echo "  Te queda de sesión".date('Y m d H:i:s', $_SESSION['expire']);

}elseif ($_SESSION['role']=="role_profesor") {
    echo "Bienvenido TEACHER! " . $_SESSION['usuario'];
    echo " Iniciaste sesión".date('Y m d H:i:s', $_SESSION['start']);
    echo "  Te queda de sesión".date('Y m d H:i:s', $_SESSION['expire']);

}elseif ($_SESSION['role']=="role_directora") {
    echo "Bienvenido JEFA SUPREMA! " . $_SESSION['usuario'];
    echo " Iniciaste sesión".date('Y m d H:i:s', $_SESSION['start']);
    echo "  Te queda de sesión".date('Y m d H:i:s', $_SESSION['expire']);
}

?>

<a href="./cerrar.php">cerrar</a>

cerrar.php

<?php
session_start();

/* comprobamos que un usuario registrado es el que accede al archivo, 
sino no tendría sentido que pasara por este archivo */
if (!isset($_SESSION['usuario']))
{
    header("location:./index.html");
}

/* usamos la función session_unset() para liberar la variable
de sesión que se encuentra registrada */
session_unset($_SESSION['usuario']);
session_unset($_SESSION['role']);

// Destruye la información de la sesión
session_destroy();

//volvemos a la página principal
header("location:./index.html"); ?>