Advertisement
NelloRizzo

[PHP] Gestione Utenti

Jun 28th, 2019
458
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.49 KB | None | 0 0
  1. <?php
  2.  
  3. // Qui scriverò tutte le procedure per il login...
  4. // decidiamo che l'utente sta in $_SESSION ed è recuperato
  5. // attraverso un nome particolare che decidiamo noi!
  6. $utente_in_sessione = "utente";
  7. $login_page = "login.php";
  8.  
  9. // occorre essere sicuri che la sessione sia attivata
  10. session_start();
  11.  
  12. // funzione che effettua il login se ancora non è stato effettuato
  13. function check_for_login() {
  14.     if (!user_logged()) // se l'utente non è autenticato
  15.         redirect_to_login(); // vai al login...
  16. }
  17.  
  18. // funzione che controlla se è stato effettuato il login
  19. function user_logged() {
  20.     // dichiaro la volontà di utilizzare una variabile definita esternamente alla funzione
  21.     global $utente_in_sessione;
  22.  
  23.     return isset($_SESSION[$utente_in_sessione]);
  24. }
  25.  
  26. // funzione che invia alla pagina di login
  27. function redirect_to_login() {
  28.     global $login_page;
  29.     header("Location: $login_page?ref=" . $_SERVER["REQUEST_URI"]);
  30. }
  31.  
  32. $db_utenti = new mysqli("localhost", "root", "", "app");
  33.  
  34. // funzione che recupera le informazioni dell'utente che ha effettuato il login
  35. function login($username, $password) {
  36.     global $utente_in_sessione;
  37.     global $db_utenti;
  38.     $q = "
  39.        SELECT id, username, password, name from users
  40.        where username = '$username' and password = '$password';
  41.        ";
  42.     $result = $db_utenti->query($q); // effettuo una ricerca sul db tramite username e password
  43.     if ($result->num_rows == 1) { // controllo se ho recuperato 1 elemento
  44.         // memorizzo i valori in una variabile
  45.         $utente = array(
  46.             "name" => $result->fetch_all(MYSQLI_ASSOC)[0]["name"]
  47.         );
  48.         // memorizzo l'utente in sessione
  49.         $_SESSION[$utente_in_sessione] = $utente;
  50.         return true; // comunico che il login ha avuto successo
  51.     }
  52.     return false; // altrimenti comunico che il login è fallito
  53. }
  54.  
  55. // funzione che restituisce l'utente in sessione
  56. function get_user() {
  57.     global $utente_in_sessione;
  58.     return $_SESSION[$utente_in_sessione];
  59. }
  60.  
  61. // funzione che effettua il logout
  62. function logout() {
  63.     global $utente_in_sessione;
  64.     session_abort(); // chiudo la sessione corrente
  65.     unset($_SESSION[$utente_in_sessione]); // cancello la variabile dalla sessione
  66.     // header("Location: http://www.google.it"); // reindirizzamento dell'utente fuori dall'applicazione
  67. }
  68.  
  69. // funzione che aggiunge un utente
  70.  
  71. // funzione che elenca tutti gli utenti
  72.  
  73. // funzione che modifica una impostazione dell'utente
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement