Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Qui scriverò tutte le procedure per il login...
- // decidiamo che l'utente sta in $_SESSION ed è recuperato
- // attraverso un nome particolare che decidiamo noi!
- $utente_in_sessione = "utente";
- $login_page = "login.php";
- // occorre essere sicuri che la sessione sia attivata
- session_start();
- // funzione che effettua il login se ancora non è stato effettuato
- function check_for_login() {
- if (!user_logged()) // se l'utente non è autenticato
- redirect_to_login(); // vai al login...
- }
- // funzione che controlla se è stato effettuato il login
- function user_logged() {
- // dichiaro la volontà di utilizzare una variabile definita esternamente alla funzione
- global $utente_in_sessione;
- return isset($_SESSION[$utente_in_sessione]);
- }
- // funzione che invia alla pagina di login
- function redirect_to_login() {
- global $login_page;
- header("Location: $login_page?ref=" . $_SERVER["REQUEST_URI"]);
- }
- $db_utenti = new mysqli("localhost", "root", "", "app");
- // funzione che recupera le informazioni dell'utente che ha effettuato il login
- function login($username, $password) {
- global $utente_in_sessione;
- global $db_utenti;
- $q = "
- SELECT id, username, password, name from users
- where username = '$username' and password = '$password';
- ";
- $result = $db_utenti->query($q); // effettuo una ricerca sul db tramite username e password
- if ($result->num_rows == 1) { // controllo se ho recuperato 1 elemento
- // memorizzo i valori in una variabile
- $utente = array(
- "name" => $result->fetch_all(MYSQLI_ASSOC)[0]["name"]
- );
- // memorizzo l'utente in sessione
- $_SESSION[$utente_in_sessione] = $utente;
- return true; // comunico che il login ha avuto successo
- }
- return false; // altrimenti comunico che il login è fallito
- }
- // funzione che restituisce l'utente in sessione
- function get_user() {
- global $utente_in_sessione;
- return $_SESSION[$utente_in_sessione];
- }
- // funzione che effettua il logout
- function logout() {
- global $utente_in_sessione;
- session_abort(); // chiudo la sessione corrente
- unset($_SESSION[$utente_in_sessione]); // cancello la variabile dalla sessione
- // header("Location: http://www.google.it"); // reindirizzamento dell'utente fuori dall'applicazione
- }
- // funzione che aggiunge un utente
- // funzione che elenca tutti gli utenti
- // funzione che modifica una impostazione dell'utente
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement