...
Innanzitutto (cosa che spero sia dovuta al fatto che hai messo il codice html qui), ti ricordo che i campi html si scrivono <tag attributo="valore"></tag>
Alcuni campi accettano il <tag /> direttamente, ma meglio sempre mettere attributo = "valore" anche per i campi form (method ed action e name), così come id e classi di fogli di stile.
Data questa piccola parentesi OT, torniamo IT:
Come controllare i campi?
1) Controllare che i campi esistano
Codice PHP:
// Esempio 1
if (isset($_POST['campo']))
// Esempio 2
if (isset($_GET['campo']))
2) Controllare che i campi non siano vuoti
Codice PHP:
// Esempio 1
if (trim($_POST['campo']) != "")
// Esempio 2
if (trim($_GET['campo']) != "")
3) Controllare che le due password siano uguali
Codice PHP:
if ($_POST['password1'] == $_POST['password2'])
4) Viene sconsigliato l'md5 (sul sito php.net), io ad esempio uso il crypt:
Codice PHP:
$chiave = "test"; // mia chiave di criptazione
$password = $_POST['password'];
$password = crypt($password, $chiave); // password criptata
il sistema md5 dovrebbe funzionare in maniera simile salvo che forse non devi indicare tu una chiave
5) Controllare che l'email contenga una e solo una chiocciola ed almeno un punto devi usare le espressioni regolari (preg_match).
6) Per essere tranquillo contro le Sql Injection devi fixare tutti i campi, filtrare tutto quello che ti viene scritto anche vietando determinati caratteri (con le espressioni regolari) e trasformando alcuni caratteri speciali come lettere accentate e/o backslashes e/o etcetera almeno nella loro entità html.
Bastano come informazioni iniziali?