Mi capita spesso di dover eseguire due diversi tipi di controllo sul form utente:

- i controlli formali che possono essere intercettati da un controllo lato client (campi obbligatori, correttezza delle date, ecc)

- i controlli che richiedono l'intervento del database e quindi l'intervento del server.

Per i secondi è necessario ricevere il form, validarlo e poi reindirizzare l'utente ad un pagina o ad un'altra a seconda dei risultati.

Ci sono ovviamente vari modi per farlo e varie scelte anche "estetiche" che si possono adottare, ma secondo me è una buona norma cercare di minimizzare la possibilità di errori prevenendoli, cioè utilizzando combo, liste, calendari ecc. invece di campi testuali che consentono all'utente più libertà.

Detto questo, se lo preferisci potresti realizzare uno script php che presenti il form e che contenga i controlli lato client ed un secondo che esegua le validazioni e torni al primo in caso di errore, magari evidenziando i valori rifiutati con messaggi, colori, ecc.

Beh ... scusa lo sproloquio, forse ho detto delle ovvietà