Ci sono altri metodi ( io conosco solo quello di utilizzare JavaScript) per far aprire e chiudere delle finstre d'errore per esempio quando si controllano i dati di una form senza perderli????
Ciao e grazie
Ci sono altri metodi ( io conosco solo quello di utilizzare JavaScript) per far aprire e chiudere delle finstre d'errore per esempio quando si controllano i dati di una form senza perderli????
Ciao e grazie
le popup le apri solo con javascript
ma io non userei delle popup per segnalare gli errori visto che sono deprecate e molti ormai hanno browser o altre utility che le bloccano
![]()
Certo che ci sono. Bhe, non ti fanno aprire le pop-up ma è cmq possibile visualizzare gli errori.
Io faccio così:
1) Preparo una pagina per i controlli
All'interno di questa pagina prima di ogni operazione setto una variabile $ctrl = 1 (non ci sono errori)
faccio i miei controlli: se trovo errori setto $ctrl = 0 ed attivo un messaggio di errore.
Prima di eseguire l'operazione che devo fare (es salvataggio) faccio un controllo sulla variabile $ctrl:
if ($ctrl == 1)
{
salva
cancella tutte le variabili del form ($_POST[''])
}
Questo è per quello che riguarda il file di controllo e salvataggio.
Un altro file, invece, contiene il form.
All'interno di questo file, prima del form c'è un controllo come questo:
if (isset($_GET['op']) && $_GET['op'] == go)
{
include ('file_di_controllo_e_salvataggio.inc.php');
}
Perchè questo?
Perchè per aprire la pagina del form scrivo form.php ma quando clicco sul pulsante invia l'url sarà form.php?op=go
In questo modo quando il form viene "ricaricato" mi trovo incluso file_di_controllo_e_salvataggio.inc.php che fa gli opportuni controlli.
Se ha trovato errori ha attivato il messaggio di errore e quindi prima del campo corrispondente con un semplice controllo isset sulla variabile dell'errore posso stampare l'errore stesso.
Allo stesso modo mi troverò ancora attive le variabili passate tramite $_POST[].
Quindi, sempre con un controllo isset su di esse, posso stamparle nel caso in cui esistano.
Nel caso in cui tutto sia andato a buon fine, invece, il file di controllo avrà memorizzato le variabili nel db e èpoi le avrà cancellate e quindi esse non esisteranno più e non verranno più stampate.
Ora può capitare che tu abbia un modulo con parecchi campi e quindi potrebbe essere scocciante fare l'unest per ognuno. Io, quindi, mi sono fatto questo sript che cancella automaticamente tutte le variabili $_POST che esistono. Te lo post:
Nel caso in cui non avessi capito qualcosa posta che te lo spiego meglio. Ciao!codice:while (list($var) = each ($_POST)) { unset($_POST["$var"]); }