controllo in php obbligatorio.
controllo in js opzionale solo per non inviare il form.

se con ricaricare la pagina intendi reimmettere i dati nel form, ci sono molti modi per evitarlo. Il più usato sono le sessioni.