Ciao a tutti,
sto creando un sito che permette agli utenti di registrarsi con username e password.

Le informazioni di registrazione vengono salvate su un file dat sul server in questa forma: username|password.

La pagina che ho creato per il login, mi va a leggere le informazioni su questo file e quando trova la corrispondenza nome e pass per l'utente gli dovrebbe comunicare accesso effettuato.

Il controllo dell'inserimento valido dei campi nel form e il confronto con le informazioni salvate nel file lo effettuo così:
Codice PHP:
$name $_POST['name'];
$password $_POST['pass'];

$fp file("log.dat");  // leggo il file
foreach ($fp as $line) {
        
$info explode("|"$line);  // il nome e la pass sono separati dalla barra
        
if ($name==$info[0] && $password==$info[1]) {
            print 
"Login effetuato!

"
;
            print 
"Benvenuto $name";
            exit;
        } else {
                         
$errormessage "Informazioni non valide!";  // verrà stampato se alla fine
                
}                                                   // del foreach non è mai stato
}                                                                   // effettuato il login

// Altre istruzioni 
Il problema risiede nella && che si trova all'interno della if.
Mi segnala sempre Errore, nonostante nomeutente e pass siano corretti (per verificare ho fatto anche stampare il contenuto di $info[0] e $info[1] e li prende dal file sempre correttamente.

Se sostituisco la && (o AND) con or, mi da login efffettuato solo se il nomeutente è corretto (cioè presente nel file), in quanto inserendo la pass giusta e un qualsiasi nome (evento che con la or dovrebbe darmi corretto) mi segnala errore.

Sembra che la password non la riesca a confrontare!!