mmm qualcosa del genere 
codice:
$accessData = file('accessdata.txt');
$userAuth = false;
while(list(, $row) = each($accessData)) {
$row = trim($row);
if (!$row) continue;
list($user, $pass) = explode(':|:', $row);
if ($user == $usernameUtente && $pass == $passwordUtente) {
$userAuth = true;
break;
}
}
unset($accessData);
if ($userAuth == true) {
echo "Autenticato!!!";
} else {
echo "Autenticazione Fallita!!!";
exit();
}
dentro il file di testo metti
username:|
assword
in questo modo sei sicuro che nell'username o nella password non ci stiano i caratteri di separazione!
il codice è semplice...legge tutte le righe del file usando file, dopo di che le cicla...verifica ovviamente che la riga non sia vuoita, perchè se è cosi la salta, se non è vuota esplode la riga usando come separatore :|: e mette la prima parte dentro $username, mentre la seconda dentro $password...dopo di che con un if verifica i dati che sono stati ricevuti dall'utente (ovviametne cambia nome alle variabili) e se tutto va bene imposta una variabile su TRUE, ovvero userAuth, altrimenti continua...
nel caso che venga autenticato, ovviament esce dal while e scarica l'array che sta in memoria, perché tanto non serve +
a questo punto verifico con un if se userAuth è su true o false e quindi mi comporto di conseguenza 
molto semplice 
ovviamente le password, ad esempio, le puoi mettere crittate o in md5 nel file in modo che siano più sicure!