
GUIDE PER ASPIRANTI PROGRAMMATORI
Registrazione degli utenti
La registrazione degli utenti è il primo passo per abilitare l’accesso protetto all’applicazione. Nel nostro progetto, questa funzionalità è gestita dal file register.php, che presenta un form all’utente e, una volta inviati i dati, li valida e li salva nel database. Form di registrazione utente. Il form HTML è semplice e chiaro, progettato per…


Vuoi avviare una nuova carriera o fare un upgrade?
Trova il corso Digital & Tech più adatto a te nel nostro catalogo!
La registrazione degli utenti è il primo passo per abilitare l’accesso protetto all’applicazione. Nel nostro progetto, questa funzionalità è gestita dal file register.php, che presenta un form all’utente e, una volta inviati i dati, li valida e li salva nel database.
Form di registrazione utente.
Il form HTML è semplice e chiaro, progettato per raccogliere username e password. Ecco un esempio di struttura che troverai nel file:
<h1>Registrazione</h1> <form method="post"> <label for="username">Username:</label> <input type="text" id="username" name="username" required><br> <label for="password">Password:</label> <input type="password" id="password" name="password" required><br> <button type="submit">Registrati</button> </form>
Il form utilizza l’attributo required per garantire che i campi non vengano lasciati vuoti, migliorando l’esperienza utente e riducendo gli errori di inserimento.
Validazione dei dati (PHP + lato client con JS).
Una volta inviato il form, il file register.php utilizza il linguaggio PHP per validare i dati sul server. Viene controllato:
- Che i campi non siano vuoti (ulteriore verifica rispetto a quella del browser)
- Che l’username non sia già presente nel database
- Che la password venga convertita in hash prima del salvataggio
Esempio di controllo e inserimento nel file register.php:
if ($_SERVER["REQUEST_METHOD"] == "POST") { $username = $_POST["username"]; $password = password_hash($_POST["password"], PASSWORD_DEFAULT); require 'db.php'; $stmt = $pdo->prepare("SELECT * FROM utenti WHERE username = ?"); $stmt->execute([$username]); if ($stmt->rowCount() > 0) { echo "Username già registrato."; } else { $stmt = $pdo->prepare("INSERT INTO utenti (username, password) VALUES (?, ?)"); $stmt->execute([$username, $password]); echo "Registrazione completata con successo."; } }
Questa logica protegge il sistema da duplicazioni di username e garantisce la sicurezza delle credenziali grazie all’uso della funzione password_hash, che cripta la password prima di salvarla nel database.
Sul lato client (vale a dire considerando ciò che avviene sul dispositivo dell’utente, ovvero nel browser), il form HTML può essere arricchito con l’utilizzo del linguaggio JavaScript per fornire feedback in tempo reale, ad esempio per mostrare se le password rispettano determinati criteri (lunghezza minima, presenza di numeri o simboli). Tuttavia, nel progetto fornito nel nostro tutorial php, tale validazione lato client non è presente: può essere aggiunta in seguito come miglioramento, per permetterti di metterti alla prova in autonomia.
Salvataggio dell’utente nel database.
Una volta superati tutti i controlli, i dati dell’utente vengono salvati nella tabella utenti del database biblioteca. Questa tabella è stata definita nel file db.sql e include i campi id, username, password e ruolo. Per default, ogni nuovo utente ha ruolo “utente”, ma è possibile estendere questa logica per distinguere anche utenti amministratori.
Grazie a questa struttura, il sistema di registrazione è sicuro, funzionante e pronto per essere utilizzato da qualsiasi visitatore dell’applicazione.
CONTENUTI GRATUITI IN EVIDENZA
Guide per aspiranti programmatori 👨🏻🚀
Vuoi muovere i primi passi nel Digital e Tech? Abbiamo preparato alcune guide per aiutarti a orientarti negli ambiti più richiesti oggi.