Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasa uwierzytelnienia
eMartio
post
Post #1





Grupa: Zablokowani
Postów: 46
Pomógł: 0
Dołączył: 12.01.2006

Ostrzeżenie: (10%)
X----


Witam na forum (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Od 2 lat programuje strukturalnie. Jednak od obecnie jestem w trakcie migracji na programowanie zorientowane obiektowo.

Czy mógłby ktoś z Szanowanych Forumowiczów pokazać mi jak stworzyć przy OOP prostą klasę uwierzytelniającą? Chodzi o to, że chciałbym, aby klasa ta sprawdzała czy user jest zalogowany, jak tak, to kontynuuje działanie aplikacji, a jak nie to ma odesłać na stronę z formularzem logowania.

Stworzyłem coś takiego:
  1. <?php
  2. class MojeUwierzytelnianie {
  3. _construct () {
  4. if ($this->czy_zalogowany()) return TRUE;
  5. }
  6.  
  7. function czy_zalgowany() {
  8. if ($_SESSION['id_user']) {
  9. return TRUE;
  10. } else {
  11. header('location: formularz_logowania.php');
  12. }
  13. }
  14. }
  15. ?>


Chyba jednak nie jest to prawidłowo skonstruowana klasa? Proszę o pomoc i radę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
NuLL
post
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. class user
  4. {
  5.     private 
  6.         $userId;
  7.     
  8.     public static function instance()
  9.     {
  10.         static 
  11.             $userObj;
  12.             
  13.         if($userObj==null)
  14.         {
  15.             $userObj=&new user();
  16.         }
  17.         
  18.         return $userObj;
  19.     }
  20.     
  21.     private function __construct()
  22.     {
  23.         $this->userId=0;
  24.     }
  25.     
  26.     public function login($login,$password)
  27.     {
  28.         //funkcja logujaca
  29.         
  30.         //tutaj sie przypisuje $this->userId;
  31.     }
  32.     
  33.     public function isLogged()
  34.     {
  35.         return intval($this->userId)>0;
  36.     }
  37.     
  38.     public function logout()
  39.     {
  40.         $this->userId=0;
  41.     }
  42. }
  43.  
  44. ?>

A moze tak ? Kazdy user ma jakis tam id ktory przypisujesz. Jesli id jest rowny zero to oznacza ze jest to gosc. Co do dwoch pierwszych method odsylam do manuala i wzorca singleton : http://pl2.php.net/manual/en/language.oop5.patterns.php
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: 11.10.2025 - 20:28