hola!
no ser si te entendido bien pero seguin lo q me a parecido a mi aqui tienes un fallo de estructura. es normal q te muestre tantos links como nombres tengas en tu tabla. fijate en tu bucle, con el while lo q haces es mirar todo el contenido de la tabla y si pones el if dentro pues para cada registro te hara una comprobacion.
lo podrias plantear desta manera:
Código PHP:
<?
$idioma=substr($HTTP_ACCEPT_LANGUAGE,0,2);
//Aqui hacemos la consulta sobre el nombre entrado
$usuario=mysql_query("select nombre from clientes WHERE nombre='".$d1."'") or die(mysql_error());
//numero de registros q te devolvera la consulta
$nreg_usuario=mysql_num_rows($usuario);
//si es mas grande de 0 quiere decir q hay registros
if ($nreg_usuario > 0){
$us=mysql_fetch_array($usuario);
echo "El usuario ya existe<br>";
echo "El usuario existente es : ".$us['nombre']."<br>";
echo "El usuario escrito es: ".$d1."<br>";
mysql_free_result($usuario);
}else{
echo'<a href="insertar.php">Confirmaciones de datos</a><br>';
mysql_free_result($usuario);
}
?>
EDITADO: si quieres parar un bucle cuando se cumple una condicion utiliza el
break
saludos