Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: logowanie sesyjne
Forum PHP.pl > Forum > Gotowe rozwiązania
sinsin
  1. <? if (!$user->is_logged ()): ?>
  2.   <p class=error align=center>*** Brak dostępu ***</p>
  3. <? else: ?>
  4. <!-- *********** Tutaj umieszczona jest chroniona część strony ********** -->
  5. <? endif; ?>

Mam pytanie,jak uzależnić logowanie użytkownika od jego nazwy?Czy nazwy userów są jakoś kodowane?
sf
Przeważnie ustawia sie priorytety, np. zwykły użytkownik, administrator. Jak chcesz tylko od nazwy to if($user == 'tadek') // rob cos tam smile.gif
sinsin
No właśnie, a jeśli chciałbym ustawić grupy userów, w jaki najprostszy sposób to zrobić?
sinsin
Ok, nie mogę się w tym połapać już.Tu jest kawałek kodu MK Auth 1.0 wersja tekstowa. Chodzi mi o to żeby przerobić ten plik w taki sposób aby można było logować w zależności od nazwy usera:

plik w którym zawarta jest klasa
  1. <?
  2. /*
  3. --------------------------------------------------------------------------------
  4.  Info : Klasa umożliwiająca autoryzację użytkowników z wykorzystaniem
  5. : plików tekstowych.
  6. :
  7. --------- : --------------------------------------------------------------------
  8. Autor : Mariusz Kacki
  9.    E-mail : robokator@wp.pl
  10.  Data : 10:25 03-07-24
  11. --------- : --------------------------------------------------------------------
  12.    Metody : bool is_logged(void) - czy zalogowany
  13. : bool login(string $login, string $passwd) - zaloguj
  14. : array users(void)  - tablica zarejestrowanych
  15. : string user(void) - zalogowany użytkownik
  16. : integer count(void) - liczba zarejestrowanych
  17. : bool is_user(string $login) - czy użytkownik istnieje
  18. : bool add_user(string $login, string $passwd)  - dodaj użytkownika
  19. : void logout(void) - wyloguj
  20. : string version(void)  - informacje o klasie
  21. --------- : --------------------------------------------------------------------
  22. Własności : VERSION  - informacjie o klasie
  23. : LOGGED - czy zalogowany
  24. : USER  - nazwa użytkownika
  25. : FILE  - nazwa pliku
  26. --------- : --------------------------------------------------------------------
  27. Komentarz : Nie należy się odwoływać bezpośrednio do własności z zewnątrz klasy,
  28. : a przez odpowiednie metody.
  29. : Wszystkie własnośći mają charakter prywatny i nie należy ich modyfi-
  30. : kować z zewnątrz.
  31. ----------:---------------------------------------------------------------------
  32. */
  33.  
  34.  
  35.  
  36. class auth
  37. {
  38. var $VERSION = &#092;"'MK Auth 1.0', Copyrights &copy; 2003 by Mariusz Kacki\";
  39. var $LOGGED = False;
  40. var $USER = '';
  41. var $FILE = '';
  42.  
  43.  
  44.  
  45. // Konstruktor, sprawdza istnienie pliku itp. ********************************
  46. function auth ($fileName = '')
  47. {
  48. $this->FILE = $fileName; 
  49. if (!file_exists ($this->FILE))
  50. {
  51. exit (&#092;"Błąd: Plik <b>'$fileName'</b> nie istnieje.<br>\");
  52. }
  53. }
  54.  
  55.  
  56.  
  57. // Sprawdza czy użytkownik jest zalogowany ***********************************
  58. function is_logged ()
  59. {
  60. return ($this->LOGGED);
  61. }
  62.  
  63.  
  64.  
  65. // Loguje użytkownika ********************************************************
  66. function login ($login = '', $passwd = '')
  67. {
  68. $line = @file ($this->FILE);
  69. foreach ($line as $value)
  70. {
  71. $str = explode (',', $value);
  72. if (chop ($str[0])==$login && chop ($str[1])==$passwd)
  73. {
  74. $this->LOGGED = True;
  75. $this->USER  = $login;
  76. return (True);
  77. }
  78. }
  79. return (False);
  80. }
  81.  
  82.  
  83.  
  84. // Zwraca tablicę zarejestrowanych uzytkowników *****************************
  85. function users ()
  86. {
  87. $line = @file ($this->FILE);
  88. $usr = array ();
  89. foreach ($line as $value)
  90. {
  91. $str = explode (',', $value);
  92. $usr[] = chop ($str[0]);
  93. }
  94. return ($usr);
  95. }
  96.  
  97.  
  98.  
  99. // nazwa zalogowanego użytkownika ********************************************
  100. function user ()
  101. {
  102. return ($this->USER);
  103. }
  104.  
  105.  
  106.  
  107. // ilość zarejestrowanych użytkowników ***************************************
  108. function count ()
  109. {
  110. return (count (@file ($this->FILE)));
  111. }
  112.  
  113.  
  114.  
  115. // Sprawdza czy użytkownik istnieje ******************************************
  116. function is_user ($login = '')
  117. {
  118. $line = @file ($this->FILE);
  119. foreach ($line as $value)
  120. {
  121. $str = explode (',', $value);
  122. if (chop ($str[0])==$login)
  123. {
  124. return (True);
  125. }
  126. }
  127. return (False);
  128. }
  129.  
  130.  
  131.  
  132. // Dodaje nowego użytkownika *************************************************
  133. function add_user ($login = '', $passwd = '')
  134. {
  135. if ($fp = @fopen ($this->FILE, 'a'))
  136. {
  137. flock ($fp, 2);
  138. fputs ($fp, &#092;"$login,$passwdn\");
  139. flock ($fp, 3);
  140. fclose ($fp);
  141. return (True);
  142. }
  143. return (False);
  144. }
  145.  
  146.  
  147.  
  148. // Wylogowanie użytkownika ***************************************************
  149. function logout ()
  150. {
  151. $this->USER  = '';
  152. $this->LOGGED = False;
  153. return;
  154. }
  155.  
  156.  
  157.  
  158. // Wersja skryptu ************************************************************
  159. function version ()
  160. {
  161. return ($this->VERSION);
  162. }
  163.  
  164.  
  165. }
  166.  
  167. ?>


plik strony do której ma być dostęp
  1. <table border=0 width=100%>
  2. <tr><th align=center>
  3. ..:: Link2 ::..
  4. </th></tr>
  5. </table>
  6.  
  7.  
  8. <p>
  9.  
  10. <? if ($this == 'sinsin'): ?>
  11. <p class=error align=center>OK!!!!!!</p>
  12. <? else: ?>
  13. <!-- *********** Brak dostępu ********** -->
  14.  
  15.  
  16.  
  17. Nie masz uprawnień
  18.  
  19.  
  20.  
  21. <!-- ******************************************************************** -->
  22. <? endif; ?>

wyjaśnijcie jak możecie jak to zrobić,bo mnie szlag trafia smile.gif
bela
  1. <? if ($this == 'sinsin'): ?>


1. poczytaj o programowaniu obiektowym ( masz na wortalu i w manualu )
2. poczytaj o szablonach
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.