Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: System logowania :/
Forum PHP.pl > Forum > PHP
Lars
  1. <?php
  2. function login($login, $password) {
  3. $data=file(USER);
  4. foreach($data as $dump) {
  5. $data=explode('$', $dump);
  6.  
  7. if($login==$data[0] && $password==$data[1]) {
  8. $_SESSION['LOGIN']=$login;
  9. $_SESSION['LOGGED']=True;
  10. return True;
  11. } else {
  12. return False;
  13. }
  14. }
  15. }
  16. ?>


stała user wzkazuje na plik users.dat:

Kod
Lars$HasloMD5$127.0.0.1
Lars2$HasloMD5$127.0.0.1
Lars3$HasloMD5$127.0.0.1


loguje się poprawnie jako Lars, lecz reszta nie działa.
jak temu zaradzić?
TomASS
Ha! Już chyba wiem smile.gif Zamień jedno $data ma $data2 smile.gif guitar.gif
Lars
i nic...ma ktoś może jeszcze jakiś pomysł?
TomASS
Musi być, przeciesz sprawdzałem.
Lars
  1. <?php
  2. function login($login, $password) {
  3. $data=file(USER);
  4. foreach($data as $dump) {
  5. $us=explode('$', $dump);
  6.  
  7. if($us[0]==$login && $us[1]==$password) {
  8. $_SESSION['LOGIN']=$login;
  9. $_SESSION['LOGGED']=True;
  10. return True;
  11. } else {
  12. return False;
  13. }
  14. }
  15. }
  16. ?>


daje to samo co na początku
TomASS
Ha! no tak, jak dajesz return false, to skrypt odrazu przerywa pracę i nie szuka dalej (zawsze bedzie wykonywał tylko jeden obrót pętli)

To na pewno działa:
  1. <?php
  2.  
  3. $login = 'Lasrs3';
  4. $password = 'HasloMD5';
  5.  
  6. function login($login, $password) {
  7.  $data[0]='Lars$HasloMD5$127.0.0.1';
  8.  $data[1]='Lars2$HasloMD5$127.0.0.1';
  9.  $data[2]='Lars3$HasloMD5$127.0.0.1';
  10.  $znaleziono = false;
  11.  foreach($data as $dump) {
  12. $data2=explode('$', $dump);
  13. print_r($data2);
  14. echo '<br>';
  15. if($login==$data2[0] && $password==$data2[1]) {
  16.  $_SESSION['LOGIN']=$login;
  17.  $_SESSION['LOGGED']=True;
  18.  $znaleziono = true;
  19. } 
  20.  }
  21.  return $znaleziono;
  22. }
  23.  
  24.  
  25. echo login($login,$password);
  26. print_r($_SESSION);
  27. ?>


-----edit----
Dodałem Ci jeszcze możliwość zwracania przez funkcję true/false. Oczywiście w miejscu tablicy $data musisz wczytać plik i pokasować komunikaty. Ale to już chyba pikuś smile.gif
Lars
aa wielkie dzięki smile.gif. myślałem że coś zwaliło się z moim XAMPPem. winksmiley.jpg

przetestowałem - działa smile.gif
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.