Ci sono diverse cose ma possono essercene altre


// recuperiamo il valore ricerca inviato con get

$ricerca = $_GET['area'
]; => 'area' è definito nel form con metodo POST

// vediamo se è stato inviato, e quindi uguale a ok

if ( $ricerca == 'ok'
) { => $ricerca non è mai uguale a ok. Hai un ricerca=ok nell'url ma non usi $ricerca = $_GET['ricerca'];

// recuperiamo ora cerca inviato con post

$cerca = $_POST['Invia'
]; => non c'è nessun campo con name='Invia"