Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php OOP] Prosba o opinie nt. pierwszej klasy
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Chcialbym was prosic o opinie i sugestie nt. mojej pierwszej klasy podczsa nauki OOP. Co mozna w niej poprawic, co nalezaloby napisac inaczej. Poczatek czyli laczenie z baza i ustawianie sesji jest tylko tymczasowo. Prosze o informacje co i jak. Do czego moglby sluzyc destruktor w tej klasie? Do zerowania atrybutow? Wogole nie widze wiekszego sensu destruktora w tym przypadku - moze sie myle, prosze mnie wiec oswiecic.
  1. <?php
  2. $sql = mysql_connect("localhost", "root", "");
  3. mysql_select_db("logowanie");
  4.  
  5.  
  6. $_SESSION['login'] = "phpion";
  7. $_SESSION['haslo'] = "haslo";
  8.  
  9. class Uzytkownik
  10. {
  11. private $login;
  12. private $haslo;
  13. private $grupa;
  14. private $zalogowany;
  15. private $dostep;
  16.  
  17. function __construct()
  18. {
  19. $this->login = (isset($_SESSION['login'])) ? $_SESSION['login'] : NULL;
  20. $this->haslo = (isset($_SESSION['haslo'])) ? $_SESSION['haslo'] : NULL;
  21. $this->grupa = 0;
  22. $this->zalogowany = $this->dostep = FALSE;
  23. }
  24.  
  25. function sprawdzZalogowanie()
  26. {
  27. if ($this->login != NULL && $this->haslo != NULL)
  28. {
  29. $q = "SELECT grupa FROM uzytkownicy WHERE BINARY login='".$this->login."' AND BINARY haslo='".$this->haslo."' AND stan='1'";
  30. $q = mysql_query($q);
  31.  
  32. if (mysql_num_rows($q) > 0)
  33. {
  34. $r = mysql_fetch_row($q);
  35.  
  36. $this->grupa = $r[0];
  37. $this->zalogowany = TRUE;
  38. }
  39. }
  40. }
  41.  
  42. function sprawdzDostep($typ, $lista)
  43. {
  44. $this->sprawdzZalogowanie();
  45.  
  46. if ($this->zalogowany == TRUE && $this->grupa != 0)
  47. {
  48. $tablica = explode(" ", $lista);
  49.  
  50. if (($typ == 1 && in_array($this->grupa, $tablica) || ($typ == 0 && !in_array($this->grupa, $tablica))))
  51. $this->dostep = TRUE;
  52. }
  53.  
  54. if ($this->dostep != TRUE)
  55. {
  56. header("Location: accessDenied.php");
  57. }
  58. }
  59. }
  60.  
  61. $uzytkownik = new Uzytkownik();
  62. $uzytkownik->sprawdzDostep(0, "1 2");
  63. ?>
  64. Tajna tresc

PS: w metodzie sprawdzDostep $typ moze byc 0 lub 1 (0 dla wylaczania dostepu dla grup, 1 dla udostepnianiu dla wskazanych grup) i liste grup podajemy jako ciag liczb oddzielonych spacja.

Ten post edytował phpion.com 17.07.2006, 20:18:36
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 2.10.2025 - 19:32