Witam,
1. Trzymanie takiej bazy w pliku tekstowym nie ma sensu na dłuższą metę ponieważ:
a) Jest to wolniejsze rozwiązanie od baz danych, i posiada mniejsze możliwości.
b) Twój sposób przechowywania login'u uniemożliwia stworzenie użytkownika o nazwie
user:tralala:bumc) Podsumowując nie polecam logowania na plikach tekstowych, no ale nie wiem do czego Ty to wykorzystujesz :)
2. Nawiązując do poprzedniego punktu, proponuje abyś ( jeżeli musisz już to robić na plikach ) przechowywał dane w zserializowanej tablicy (
serialize" title="Zobacz w manualu php" target="_manual ), wtedy będziesz miał łatwiejszy do niej dostęp. Może pokusisz się nawet o stworzenie klasy obsługującej taką małą bazę :>
3. Przechodząc do sedna i odpowiadając już bezpośrednio na Twoje pytanie to:
a) Na początku zwróce uwagę na zapis, jest trochę dziwny, można taki kod zapisać dużo krócej o przedewszystkim czytelniej!
b) Robisz błędy, powinno być
method, a nie
methot.
c) Poprawiłem ten Twój kod trochę, myślę, że teraz lepiej wygląda :)
<form name="logowanie" action="?" method="post">
Użytkownik: <br />
<input type="text" name="user" /> <br />
Hasło: <br />
<input type="password" name="haslo"><br /><br />
<input type="submit" value="Wejdź" />
</form>
<?php
function checkPass( $user, $pass )
{
$file = file( 'passwords.txt' );
foreach( $file as $k )
{
if ( trim( $eUser[ 0
] ) == $user && trim( $eUser[ 1
] ) == $pass ) {
return TRUE;
}
}
return NULL;
}
var_export( checkPass
( $_POST["user"], $_POST["haslo"] ) );
?>
Mój plik z użytkownikamiKod
strife:demo
demo:demo
admin:demo
Pozdrawiam!
ps. Zobacz może któryś z temat w mojej sygnaturce Ci pomorze ;)