Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dlaczego to niechce dzialc
Forum PHP.pl > Forum > Gotowe rozwiązania
jokergti
witam wszytskih, to moj 2 dzien z php i zaczynam pisac sobie takie proste rzeczy ale... z formularza pobieram $imie i $password, a pliku pass.txt mam zapisane log;pass. napisalem taki cos:
[php:1:80ad5bc840]
<?php
$plik=fopen("pass.txt","r");
$iter=0;
$itera=0;
while(!(feof($plik)))
{
$dane=fgets($plik,255);
list($log[$iter], $pass[$itera])=explode(";",$dane);

if ($log[$iter]==$HTTP_POST_VARS['imie'] && $pass[$itera]==$HTTP_POST_VARS['password'])
{
print("witam ");
exit;
}
$iter++;
$itera++;
}
print("brak dostepu");
fclose($plik);
?>
?>[/php:1:80ad5bc840]

No i to nie dziala, ale dlaczego. jak zlikwiduje ten warunek i napisze zeby tylko sprawdzal login to zadziala, wartosc hasla tez odczytuje bo jak mu kaze wypisac i zarowno $password i $pass[itera] to wypisze i to poprawnie, ale za cholere niechce tych wartosci przyrownac(porownac)

?>[/php]
KaMeLeOn
Na końcu linii zawsze jest znak przejścia do nowej, czyli "n"...
Użyj funkcji trim() przed porównaniem haseł...
jokergti
dzieki za info, ale niezabardzo wiem jak to uzyc (tzn probowalem wedlug manuala ale nic to nie dalo), a pozatym to jak jest ten warunek zeby sprawdzal haslo (bez trim()) i jak wpisze jaksies haslo nawet poprawne to wyswietla odmowa dostepu, a jak nie wpisze wogole hasla to wyswietla to co powinno wyswietlic jak haslo jest poprawne questionmark.gifquestionmark.gif? kompletnie nie rozumiem !!
jokergti
ok juz dziala. chodzilo rzeczywiscie o ten znacznik konca linii, ale wystarzylo dodac na koncu hasla ; (uzywam go do rozdzielania imienia od hasla w pliku) i juz wszystko chodzi ok.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.