![]() |
![]() ![]() |
![]() |
-Mistrig- |
![]()
Post
#1
|
Goście ![]() |
Witam. No więc mam problem z takim skryptem:
Kod $uzytkownicy=file("dane.php"); $ile=count($uzytkownicy); for ($a=0; $a==$ile; $a+=3) { $b=$a++; if (sha1($_POST['login'])==$uzytkownicy[$a] and sha1($_POST['haslo'])==$uzytkownicy[$b]) { echo 'Logowanie zakończyło się sukcesem'; break; } } Ten skrypt ma za zadanie uwierzytelnić użytkownika. W pliku dane.php dane są zapisane w trzech kolejnych wierszach (login, hasło, email) pierwsze dwa są zakodowane za pomocą funkcji sha1. Problem w tym, że skrypt mi nie działa. Mam nadzieje, że ktoś powie mi gdzie wystąpił błąd. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 446 Pomógł: 0 Dołączył: 5.03.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
ja widze to tak:
Ten post edytował Pigula 21.01.2006, 11:17:29 |
|
|
-Mistrig- |
![]()
Post
#3
|
Goście ![]() |
Eeee a gdzie jest błąd?
Po za tym musi być +=3 ponieważ jest jeszcze email (który nie jest sprawdzany). A dlaczego musi być < , a nie ==? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 446 Pomógł: 0 Dołączył: 5.03.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
bo petla sie wykonuje dopoki warunek jest spelniony gdy == to nie bedzie spelnione i sie nie wykona a $a+=2 dlatego ze potem wydaje mi sie ze jak masz $b=$a++ to i a sie zwiekszy najlepiej zrob echo obu wartosci to bedziesz wiedziec jak ja mam racje to musisz jeszcze $uzytkownicy[$a] zmienic na $uzytkownicy[$a-1] a jak sie myle to przepraszam ale w warunku petli napewno ma byc <
|
|
|
-Mistrig- |
![]()
Post
#5
|
Goście ![]() |
Wykazało że $a = 1 ,a $b = 0
![]() |
|
|
-Mistrig- |
![]()
Post
#6
|
Goście ![]() |
Ale czekaj napisałem $b=$a+1 i już jest w porządku.
|
|
|
-Mistrig- |
![]()
Post
#7
|
Goście ![]() |
Ale i tak nie działa.....
Sorry, że pisze trzy tematy pod rząd, ale jako niezarejestrowany nie mogę zmieniać postów. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 09:27 |