Da el mensaje si intentan introducir datos duplicados y bloquea el INSERT.
En el caso de ser datos no duplicados, los registra y sigue el curso normal que tienes en el code.
Tienes que ponerlo dentro del else que tienes, quedaría así:
Código PHP:
//....
//SI NO HAY ERRORES Y SE HA PULSADO EN ENVIAR, SE GUARDA EN LA DB Y SE IMPRIME MENSAJE DE EXITO
else {
$checkdupli = mysql_query("SELECT nombre, dni FROM firmas WHERE nombre='$nombre' AND firma='$firma'");
$dupli = mysql_num_rows($checkdupli);
if ($dupli > 0) {
echo 'Hay registros duplicados';
} else {
//Todo parece correcto procedemos con la inserccion
$query = "INSERT INTO firmas (nombre, dni) VALUES('$nombre','$dni')";
mysql_query($query) or die(mysql_error());
echo "<br /><b><span class='blanco'>GRACIAS POR FIRMAR </span></b>";
}
}
//.....