Solo echale un vistazo a TODO LO QUE SE EJECUTA dentro de el bucle FOR:
Código php:
Ver originalfor ($i=0;$i<$length;$i++) {
$dni = "$randkey";
$perfil = "perfil_p.php?send=$dni&height=500&width=800";
$consulta= mysql_query("SELECT * FROM login WHERE usuario='$usuario'"); echo "";
else echo "los datos han sido ingresados correctamente";
//SE INGRESAN LOS DATOS A LA TABLA PEROSNAS
$sql= "INSERT INTO personas ( fecha, usuario, pass, nombre, pais, provincia, t_provincia, identificacion, profesion, licencia, aplicar, habilidades, ex1, ex2, ex3 , idioma1, idioma2, idioma3, nivel, e1, e2, e3, disponibilidad, habitacion, celular, email ,video, perfil, dni )
VALUES ('$fecha','$usuario','$pass','$nombre','$pais','$provincia','$t_provincia','$identificacion','$profesion','$licencia','$aplicar','$habilidades','$ex1','$ex2','$ex3','$idioma1','$idioma2','$idioma3','$nivel','$e1','$e2','$e3','$disponibilidad',
'$habitacion','$celular','$email','$video','$perfil','$dni')";
//SE INGRESAN LOS DATOS A LA TABLA LOGIN
$sql="INSERT INTO login ( usuario, pass ) VALUES ('$usuario','$pass')";
}
Pues ni modo que guarde 20 veces lo mismo.