Hola,
Cuando dices "que de ahi no pasa", ¿que quieres decir? ¿Que te vuelve a preguntar por el usuario y clave? ¿O que se queda en blanco pensando y no te muestra ni los datos ni te pide usuario y clave?
Puede que se que colgado con el while que recorre el fichero de usuarios. Prueba a sustituir
Código PHP:
$fich = file("passwords.txt");
$i=0; $validado=false;
while ($fich[$i] && !$validado) {
$campo = explode("|",$fich[$i]);
if (($PHP_AUTH_USER==$campo[0]) && ($PHP_AUTH_PW==chop($campo[1]))) $validado=true;
$i++;
}
por algo como
Código PHP:
$fich = file("passwords.txt");
foreach ($fich as $user_pw)
{
$campo=explode("|",$user_pw);
if (($PHP_AUTH_USER==$campo[0]) && ($PHP_AUTH_PW==chop($campo[1])))
{
$validado=true;
break;
}
}
Ademas, usa $_SERVER como te recomienda Cluster. Y para comprobar que es lo que realmente falla, sustituye el codigo que recorrede el fichero por una comprobacion mas simple, comparando directamente con una cadena.
Suerte.