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