PHP
HTML
CSS
JavaScript
Generatori
Varie & Old

PHP: Sistema login

Sistema di login in PHP

Vediamo come realizzare un semplice sistema di login in PHP, utilizzando variabili di sessione per gestire l’autenticazione e controllare l’accesso degli utenti alle pagine protette.

Introduzione

Un sistema di login consente a un utente di accedere ad aree riservate di un sito web inserendo nome utente e password. In PHP si usano le sessioni per memorizzare lo stato dell’utente autenticato e per garantire che solo gli utenti validi possano accedere a certe pagine.

  • Form HTML per l’inserimento di username e password.
  • Script PHP che verifica le credenziali.
  • Sessioni PHP per mantenere lo stato dell’utente loggato.
  • Logout per terminare la sessione.

Form di login

Si crea un form HTML per l’inserimento di username e password. I dati verranno inviati a un file PHP per la verifica.

Codice Esempio: form login

CODE: HTMLpreleva codice
  1. <form method="post" action="login.php">
  2.   <label>Username:</label>
  3.   <input type="text" name="username"><br>
  4.   <label>Password:</label>
  5.   <input type="password" name="password"><br>
  6.   <input type="submit" value="Login">
  7. </form>

Script PHP di autenticazione

Lo script controlla se i dati inseriti corrispondono a credenziali valide. In questo esempio le credenziali sono definite direttamente nello script, ma in un’applicazione reale dovrebbero essere verificate su un database con password cifrate.

Codice Esempio: login.php

CODE: PHPpreleva codice
  1. <?php
  2. session_start();
  3.  
  4. $utente = "admin";
  5. $pass = "1234"; // in produzione usare password hashate
  6.  
  7. if ($_SERVER["REQUEST_METHOD"] == "POST") {
  8.   $username = $_POST["username"];
  9.   $password = $_POST["password"];
  10.  
  11.   if ($username == $utente && $password == $pass) {
  12.     $_SESSION["username"] = $username;
  13.     echo "Login effettuato con successo.";
  14.     // reindirizzamento a pagina protetta
  15.     header("Location: area_riservata.php");
  16.     exit();
  17.   } else {
  18.     echo "Credenziali non valide.";
  19.   }
  20. }
  21. ?>
  22. <!-- Output:
  23. Login effettuato con successo. (se credenziali corrette)
  24. Credenziali non valide. (se credenziali errate)
  25. -->

Pagina protetta

La pagina riservata controlla se la sessione dell’utente è attiva. Se non lo è, l’utente viene reindirizzato al form di login.

Codice Esempio: area_riservata.php

CODE: PHPpreleva codice
  1. <?php
  2. session_start();
  3.  
  4. if (!isset($_SESSION["username"])) {
  5.   header("Location: login.html");
  6.   exit();
  7. }
  8.  
  9. echo "Benvenuto " . $_SESSION["username"] . ", sei nell'area riservata.";
  10. ?>
  11. <!-- Output:
  12. Benvenuto admin, sei nell'area riservata.
  13. -->

Logout

Il logout distrugge la sessione, disconnettendo l’utente dal sistema.

Codice Esempio: logout.php

CODE: PHPpreleva codice
  1. <?php
  2. session_start();
  3. session_unset();
  4. session_destroy();
  5.  
  6. echo "Logout effettuato con successo.";
  7. ?>
  8. <!-- Output:
  9. Logout effettuato con successo.
  10. -->

Considerazioni

Un sistema di login in PHP si basa su form di input, verifica delle credenziali e sessioni per mantenere lo stato. L’esempio mostrato è basilare e non sicuro per l’uso in produzione. In applicazioni reali è fondamentale proteggere le password con funzioni di hashing (password_hash, password_verify), usare un database sicuro e implementare controlli aggiuntivi per prevenire vulnerabilità.


I Cookie su questo sito:

Il nostro sito utilizza cookie e altre tecnologie in modo tale che sia noi, sia i nostri partner, possiamo ricordarci di te e capire come tu e gli altri visitatori utilizzate il nostro sito. Qui puoi trovare ulteriori informazioni sui cookie e le altre tecnologie. Chiudendo questo banner o continuando la navigazione acconsenti all'uso dei cookie. Acconsento Info Cookies