63 DBMS – aspetti architetturali 2

Ho aggiunto gli altri messaggi di errore nel file messaggi_errore.ini

[errori]
connessione_fallita = connessione al server fallita. Impossibile accedere.
db_non_trovato = non trovo il database ...
autenticazione_fallita = nome utente o password errati
email_gia_inserita = user con questa mail già registrata
inserimento_fallito = tentativo di registrazione come nuovo utente fallito.
autenticazione_richiesta = per accedere a questa pagina è necessario autenticarsi

adesso quando andremo a specificare l’errore possiamo togliere i numeri (1,2,3,4) con le chiavi che del file ini che sono decisamente più comprensibili

 else
   header("Location: login.php?errore=autenticazione fallita");
 exit;

anche dopo

 //BOTTONE NUOVO UTENTE
 if ($riga = $risultatoRicercaEmail->fetch_assoc() )
 {
  $db->close;
  header("Location: login.php?errore=email_gia_inserita"); //email gia' presente
  exit;
 }
else
{
 $db->close;
 header("Location: login.php?errore=inserimento_fallito"); //inserimento fallito
}
exit;
else
{
 header("Location: login.php?errore=autenticazione_richiesta"); //non autenticato
 exit;
}

a questo punto nel login.php possiamo commentare il codice switch / case e inserire il codice che stampa l’errore in base all’array $messaggi_errore

echo $messaggi_errore[$_GET['errore']];

ovviamente all’inizio della pagina devo includere il setup.php

<?php
 include($_SERVER['DOCUMENT_ROOT']."/fagtest/my_include/setup.php");
?>

 

Ora ci occupiamo di creare il wrapper per stabilire la connessione utilizzando l’interfaccia procedurale di mysqli, andremo a creare funzioni personalizzate che richiamano la connessione, l’inserimento, i controlli.