perchè scusa? uno è il controllo lato server e l'altro è il controllo lato client

ti consiglio di usarli in questa maniera

javascript per controllare il completamento di un form

PHP per fare controlli aggiuntivi, sui DataBase etc...

if($formsent) { // il form è stato inviato
/* qui faccio i controlli sul DB */
/* se i controlli non vanno a buon fine ripropongo il form con un messaggio di errore */
/* esempio: print "attenzione!! utente gia esistente"; $formsent=FALSE;*/
}
if(!formsent) {
/* qui metto il form e le mie funzioni JS (il form punta alla stessa pagina... non è indipensabile definire l'action)*/
/* nel form devo mettere un campo hidden
<input type="hidden" name="formsent" value="1"> */
}

spero di essere stato chiaro.
ciao!