codice:
[...]
        if ($chk == 0) {
        chkEmail($value);
        $query1 = ("INSERT INTO `coll` (`email`) VALUES ('$value')");
        $result1 = mysql_query($query1)
        or die("Query failed");
        }
[...]
In questo modo non controlli nulla, perche' la funzione chkEmail ritorna semplicemente un valore booleano e non e' associato a nessun tipo di controllo, e' li' solo soletto... Prova cosi':

codice:
[...]
        if (($chk == 0) && (chkEmail($value))) {
        $query1 = ("INSERT INTO `coll` (`email`) VALUES ('$value')");
        $result1 = mysql_query($query1)
        or die("Query failed");
        }
[...]