Veamos...
La función file() lee el archivo de texto plano y te lo devuelve en un array que tiene cada línea del archivo en una posición.
http://www.php.net/function.file
Luego en cada una de esas posiciones del array tendrás los datos de un usuario separados por el caracter "|". Aquí utilizas la función explode() para poner en una posición de un array cada dato del usuario.
Te voy a poner una función que busca si coinciden el nombre y password y te devuelve todos los datos del usuario en caso de encontrarlo.
Código PHP:
function autentificar($archivo, $separador, $nombre, $posicion_nombre, $pass, $posicion_pass){
// abre el archivo a un array
$array_lineas = file($archivo);
//recorre ese array
foreach($array_lineas as $linea){
//convierte cada línea en un array de acuerdo al caracter de separación
$registro = explode("|", $linea);
if($registro[$posicion_nombre]==$nombre && $registro[$posicion_pass]==$pass)
return $registro;
}
return false;
}
Para el ejemplo que pusiste simplemente tendrías que llamar a esta función así:
Código PHP:
$usuario = autentificar("tuArchivo.txt", "|", $nombreIngresado, 0, $passIngresado, 1);
Entonces $usuario será un array que contiene todos los datos del usuario. O será "false" si los datos nombre y pass no coinciden.
El cero (0) es porque en cada línea del archivo el usuario aparece en la posición cero.
Y el uno (1) porque el password está en la posición uno.
Ojalá te sirva
Saludos