PDA

View Full Version : [PHP] gestione errori


SteR9
05-10-2004, 08:54
come faccio a gestire qualsiasi errore per esempio il mancato passaggio di un valore in un GET o qualsiasi altro errore in modo che in caso d'errore all'utente venga inviato un messaggio predefinito?
ho già guardato le varie funzioni error_reporting,user_error ecc...ma nn riesco a trovare nulla che faccia al caso mio..
grazie..:)

maxnaldo
05-10-2004, 09:52
la gestione degli errori "APPLICATIVI" riguarda solo il programmatore.

se devi effettuare controlli sui valori inseriti in una form dovrai scrivere tu il codice che avvisa l'utente.

io di solito utilizzo la stessa pagina sia per la form che per la conferma cioè ti faccio un esempio:

mettiamo che la pagina PHP si chiami "pagina.php"

per la form scrivo:

<?php

$errore=true
if($submit=="submit") // siamo arrivati qui dopo la conferma
{
// qui faccio tutti i controlli per i valori inseriti
// se qualcosa non va visualizzo un msg di errore
// e non salvo nulla
if($tuttook)
{
// salvo i dati inviati
$errore=false;
}
}

if($errore)
{
print <<<EOT
<form name="frminput" action="pagina.php" method="post">
<input type="text" name="campo" value="$_POST['campo']">
</form>
<input type="submit" name="submit" value="Conferma">
EOT;
}
else
{
// msg di conferma che tutto è andato bene
}
?>

in questo modo una volta che l'utente conferma la FORM ma ha inviato dei dati errati , non solo gli verranno visualizzati i msg di errore, ma la form conterrà ancora gli stessi dati inviati che potrà correggere e riconfermare.

solo se tutto è ok allora non visualizzerò più la FORM di inserimento e andrò avanti.

SteR9
05-10-2004, 10:58
no vabè così lo so...ma a me interessava poter intercettare tutti i tipi di errore e inviare un messaggio standard..mettiamo caso che ad esmepio io passi questi valori index.php?pippo=2&pluto=3 ad esempio se nn viene passato pluto perchè l'utente digita da solo l'indirizzo nel browser vorrei mettere un messaggio "la pagina non esiste" però nn voglio mettere un controllo per ogni variabile..

maxnaldo
05-10-2004, 11:07
beh, ciò che vuoi fare è una "automazione" impossibile

il PHP non entra nel merito dei DATI che vengono passati tramite GET o POST

devi essere tu a gestirteli, controllarli e eventualmente avvisare con messaggi di errore

se il problema è di non dover ripetere gli stessi controlli in tutte le pagine allora fai una pagina di controllo e gestione degli errori e la includi poi in cima ad ogni pagina.

SteR9
05-10-2004, 12:17
Originariamente inviato da maxnaldo
beh, ciò che vuoi fare è una "automazione" impossibile

il PHP non entra nel merito dei DATI che vengono passati tramite GET o POST

devi essere tu a gestirteli, controllarli e eventualmente avvisare con messaggi di errore

se il problema è di non dover ripetere gli stessi controlli in tutte le pagine allora fai una pagina di controllo e gestione degli errori e la includi poi in cima ad ogni pagina.
giusto farò così..controllerò i valori delle variabili tramite get e se non sono come devono essere mando in output un messaggio di errore... ;)