Prima di analizzare il codice e le query, considera questo semplice fatto:
codice:
$q .= "Cogn LIKE '%".$_POST['cognome']."%' and";
...
$q .= "Nome LIKE '%".$_POST['nome']."%' and";
se non metti uno spazio dopo and, il risultato e':
codice:
$q .= "Cogn LIKE '%".$_POST['cognome']."%' andNome LIKE '%".$_POST['nome']."%' and";
la parte in rosso e' un syntax error.