Puoi realizzare una funzione javascript che controlli i campi del form nel momento dell'invio, se ci sono campi vuoti farà apparire un messaggio d'errore e non farà partire il form.

Esempio
Codice PHP:
<head>
<
script type="text/javascript">
<!--
function 
checkForm(obj) {
// verifica che i campi del form di registrazione non siano vuoti
    
if((document.getElementById("reg").nome.value == "") || (document.getElementById("reg").nome.value == "undefined")) {
        
alert("Inserire il proprio nome");
        
document.getElementById("reg").nome.focus();
        return 
false;
    }
    else if((
document.getElementById("reg").cognome.value == "") || (document.getElementById("reg").cognome.value == "undefined")) {
        
alert("Inserire il proprio cognome");
        
document.getElementById("reg").cognome.focus();
        return 
false;
    }
    else {
        
document.getElementById("reg").action "registrazione.php";
        
document.getElementById("reg").submit();
    }
}
//-->
</script>
</head>
<body>
<form id="reg" method="post">
    <table border="0" width="300">
        <tr>
            <td>Nome:</td>
            <td><input type="text" name="nome"></td>
        </tr>
        <tr>
            <td>Cognome:</td>
            <td><input type="text" name="cognome"></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><input type="button" name="invia" value="Registrati" onClick="checkForm()"></td>
        </tr>
    </table>
</form>
</body> 
Questo form viene inviato solo se tutti e due i campi sono compilati.