[php] Gestione degli errori

cawletto

Utente Attivo
475
25
CPU
i5 750
HDD
1 TB
RAM
6 GB
GPU
GXT 460 SE 1GB overclocked
Monitor
Samsung LCD 1280x1024
PSU
Cooler Master Silent Pro M 600 W
Case
HP
OS
Windows 7-64 bit
Ciao ragazzi sto creando un sito ma mi serve un parere sulla gestione degli errori:
Ho una pagina in cui avvengono tutti gli scambi con il database (mysql) e quindi è anche lì che gestisco tutte le accezioni.
Il punto è proprio qui: una volta che l'eccezione viene generata questa viene salvata in un file di log e viene riempita una variabile $errore con il messaggio che io voglio che l'utente veda. Una cosa del genere:

Codice:
$selected = mysql_select_db($db_name, $db);
if (!$selected)
{
    throw new Exception("Errore di connessione al database");
}
}catch(Exception $e)
{    
     scrivo_nel_log($e->getTraceAsString());
    $errore  =  $e->getMessage(); // errore sarà 'Errore di connessione al database'
}
Ora che ho il mio bell'errore nella variabile lo devo rimandare alla pagina che per esempio è home.php... ma come lo mando ?
Insomma è sicuro mandarlo tramite get ? (home.php?errore=Errore+di+connessione+al+database)
Come lo mando ? ... come fareste voi? :boh:
Grazie!!

---------- Post added at 18:51 ---------- Previous post was at 18:44 ----------

stavo pensando..potrei creare un file error.php in cui c'è un array contenente tutti i messaggi d'errore per l'utente così magari passo per GET solo l'indice. Cosa ve ne pare?
 
Ultima modifica:

Roberto Buonanno

Amministratore
1,724
257
Ciao, di solito errori di questa gravità si sparano a tutto schermo :)
La cosa più pulita che potresti fare sarebbe elaborare tutto il codice della pagina prima dell'input e poi redirigere l'utente con una chiama
Codice:
header('Location: http://www.example.com/');

Altrimenti se vuoi mantenere il tuo approccio puoi fidarti del get se fai tutti i controlli del caso sulle query string. L'ideale è passare un numero che rappresenta un codice d'errore e poi fai come dici tu un error.php che mostra un errore in base al codice.
 

Entra

oppure Accedi utilizzando

Hot: E3 2021, chi ti è piaciuto di più?

  • Ubisoft

    Voti: 37 23.1%
  • Gearbox

    Voti: 3 1.9%
  • Xbox & Bethesda

    Voti: 101 63.1%
  • Square Enix

    Voti: 14 8.8%
  • Capcom

    Voti: 7 4.4%
  • Nintendo

    Voti: 21 13.1%
  • Altro (Specificare)

    Voti: 15 9.4%

Discussioni Simili