Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> pomozy - problem z logowaniem
Slapi
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 9.10.2003
Skąd: mam brać na te bajery kase ?

Ostrzeżenie: (0%)
-----


cześć. Mam problem. czy ktoś mogł by mi powiedziec co tu jest zle. akcepyuje mi tylko ostatniego usera z listy. przykladowo jest uzytkownik o loginie "aaa" i paswordzie "abc" a przed nim jest uzytkownik o loginie "bbb" i paswordzie "bca" (mowa tu o pliku tekstowym z loginami i paswordami typu : login||pass ) to ten pierwszy login jest nie przwidlowy a ten drugi dziala. co mam zrobic zeby logowanie bylo na kilka osob a nie na osttatnia zapisaną w pliku tekstowym questionmark.gifquestionmark.gif pomocy !!!!

loguj.php :
[php:1:3d2575b247]<?php

<form action=loguj_spr.php method=post>
Imie: <br>
<input type=text name=login>
<br>
Haslo:<br>
<input type=text name=pass>
<br>
<input type=submit value=Loguj>
</form>

?>[/php:1:3d2575b247]

loguj_spr.php :
[php:1:3d2575b247]<?php

$userlist_f = file("users.txt");
reset($userlist_f);


while(list($key, $val) = each($userlist_f))

{

$expl = explode("||", $val);
$userlist[$expl[0]] = $expl;
$pass_md5 = md5($pass);

if(($expl[1] == $login)&&($expl[2] == $pass_md5))

{

$msg = "ZALOGOWANO";

}

else

{

$msg = "BRAK DOSTĘPU";

}
}

echo $msg;

?>[/php:1:3d2575b247]

a plik login.login a takze pass.pass wyglądahja tak :

dane1||dane2||dane3||dane4

prubowalem tez w jednym pliku :

pass1||login1
pass2||login2
itd.


POMOCYYY doradzcie cos moze tyrzeba zrestartowc wskaznik w pliku tekstowym niewiem help.
Go to the top of the page
+Quote Post
Kocurro
post
Post #2





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Cytat
loguj_spr.php :
[php:1:c262494be0]<?php

$userlist_f = file("users.txt");
reset($userlist_f);


while(list($key, $val) = each($userlist_f))

{

$expl = explode("||", $val);
$userlist[$expl[0]] = $expl;
$pass_md5 = md5($pass);

 if(($expl[1] == $login)&&($expl[2] == $pass_md5))
 
 {

 $msg = "ZALOGOWANO";

 }
 
 else
 
 {
 
 $msg = "BRAK DOSTĘPU";

 }
}

echo $msg;

?>[/php:1:c262494be0]


Twój błąd polega na tym, że pętla wykonuje się do końca...jesli pierwszy login jest poprawny to msg jest ustawiane na "dostęp" alle kolejne przejscie ustawia na brak dostępu...

zmień to na takie cuś...:

[php:1:c262494be0]<?php

$userlist_f = file("users.txt");
reset($userlist_f);

$msg = "BRAK DOSTĘPU";

while(list($key, $val) = each($userlist_f))

{

$expl = explode("||", $val);
$userlist[$expl[0]] = $expl;
$pass_md5 = md5($pass);

if(($expl[1] == $login)&&($expl[2] == $pass_md5))

{

$msg = "ZALOGOWANO";

};
}

echo $msg;

?>[/php:1:c262494be0]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 04:26