Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> user class + dziedziczenie, Ocena klasy
PawelC
post 2.05.2009, 22:51:26
Post #1





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Hej piszę sobie klasę users, która jest odpowiedzialna za logowanie i dodanie użytkownika, później dojdzie kasowanie i edycja konta. Moje pytanie brzmi czy sposób w który piszę jest dobry:
  1. <?
  2. class user extends sqli
  3.  {
  4.  
  5.    public function userLogin()
  6.      {    
  7.  
  8.       $this->log=trim($_POST['log']);
  9.       $this->pass=$pass=trim($_POST['pass']);
  10.       $result=$this->mysqli->query("select log,pass from users where log='$this->log' and pass='$this->pass'");
  11.        if(mysqli_num_rows($result)==0)
  12.            {
  13.                echo "brak takiego usera";
  14.             }
  15.             else
  16.             {
  17.                $_SESSION['zalogowany']="$this->log";
  18.                header("Location: test.php");
  19.              }
  20.  
  21.  
  22.            }
  23.            
  24.            
  25.   public function addUser()
  26.            {
  27.  
  28.             $this->log=trim($_POST['log']);
  29.             $this->pass=$pass=trim($_POST['pass']);
  30.             $result=$this->mysqli->query("insert into users values('$this->log','$this->pass')");
  31.             if($result===true)
  32.              {
  33.                  echo "Użytkownik został dodany poprawnie.";
  34.              }
  35.               else
  36.               {
  37.                  echo "Wystąpił błąd podczas dodawania nowego użytkownika!";
  38.              }
  39.  
  40.            }
  41.  
  42.  
  43.  
  44.        }
  45. $user=new user('localhost','root','','katalog');
  46. ?>

I dodawanie użytkownika i samo logowanie działa poprawnie, a mi chodzi o Waszą ocenę czy to jest dobrze napisane. Oczywiście zdaję sobie sprawę, że można to napisać zawsze lepiej.

Ten post edytował ExPlOiT 2.05.2009, 22:57:27
Go to the top of the page
+Quote Post
ayeo
post 2.05.2009, 23:18:46
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Witam!

Nie jest różowo smile.gif Na początek taki detal, nazwy klas dobrze zaczynać wielką literą. Twoja klasa dziedziczy po sqli (?). Podejrzewam, że to coś co odpowiada za połączenie z bazą itd. Czyli każda instancja tej klasy tworzy nowe połączenie? Klasę do obsługi bazy danych zrób sobie jako Singleton (najprościej). Nie dziedzicz po niej. Metoda loginUser() powinna przyjmować parametry, a nie czytać z posta. Może od początku. Obiekt user reprezentuje użytkownika, mianowicie jego id, imię, nazwisko, login, email i hasło (dla przykładu). Fajnie zrobić statyczną metodę login( $login, $password ), która po prostu zwróci obiekt User wypełniny kompletem danych z bazy lub false w przypadku błędnych danych logowania.

Dodawanie Usera... Moim zdaniem (podkreślam, że to moje zdanie) powinno to wyglądać tak:
  1. <?php
  2. $user = new User;
  3. $user->login= "adam";
  4. $user->password = "dupa8";
  5. $user->save();
  6. ?>


Oczywiście można dorobić jakiś obiekt bazowy, który ma metody typu setData( $post ) - czyli ustawia właściwości obiektu na podstawie danych z tablicy $_POST itd. Jednak nie o to chodzi. Obiekt to nie pojemnik na funkcje. Niech faktycznie będzie to obiekt User.

Statyczna metoda login(); powinna ustawiac też flagę w obiekcie czy dane są z bazy czy jest to nowy obiekt User. Wtedy metoda save() wie czy robić insert czy update. Przdałyby się jakieś walidatory jako prywatne metody (w uproszczeniu). Przykład: tworzę nowego Usera, podaję login (ale nie podaję hasła). Robię $user->save(); metoda powinna wyrzucić stosowny wyjątek.

Tak bym to widział.

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
PawelC
post 3.05.2009, 08:49:31
Post #3





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Dodałem wzorzec projektowy singleton i coś mi nie działa, mama taki kod:
  1. <?
  2.  
  3.  
  4.        class Sqli
  5.            {
  6.                
  7.                private static $instance = false;
  8.                
  9.                //Konstruktor
  10.            public function __construct()
  11.            {
  12.                self::$instance=new mysqli('localhost','root','','katalog');
  13.            }
  14.            
  15.            
  16.            static function instance()
  17.            {
  18.            if( !self::$instance )
  19.            {
  20.            self::$instance = new self;
  21.            }                              
  22.        
  23.            return self::$instance;
  24.            }
  25.            
  26.            
  27.            public function getRow($query)
  28.            {
  29.                return Sqli::instance()->query($query)->fetch_object();
  30.                
  31.            }
  32.                    
  33.            
  34.            
  35.            
  36.            // Pobranie danych z bazy
  37.            public function getRows($query)
  38.            {
  39.                $dane=array();
  40.                $result=Sqli::instance()->query($this->query=$query);
  41.                while($wynik=$result->fetch_object()){
  42.                    $data[]=$wynik;
  43.                    
  44.                }
  45.                return $data;
  46.                
  47.                /* $rows=$sqli->getRows("select * from users");
  48.                 foreach($rows as $row)
  49.                 {
  50.                 echo $row->log.' | '.$row->pass;
  51.                 }
  52.                 */
  53.            }
  54.            
  55.            
  56.            
  57.            //Dodawania wartości do bazy danych
  58.            public function insert($query)
  59.            {
  60.                $result=Sqli::instance()->query($query);
  61.                if($result===true)
  62.                {
  63.                    echo "Dane zostały dodane do tabeli!";
  64.                }
  65.                else {
  66.                    echo "Wystąpił błąd podczas dodawania danych do tabeli!";
  67.                }
  68.            }
  69.            
  70.            
  71.            
  72.            // Aktualizacja danych w bazie
  73.            public function update($query)
  74.            {
  75.                $result=Sqli::instance()->query($query);
  76.                if($result===true)
  77.                {
  78.                    echo "Dane zostały zaaktualizowane!";
  79.                }
  80.                else {
  81.                    echo "Wystąpił błąd podczas aktualizowania danych!";
  82.                }
  83.            }
  84.            
  85.            
  86.            
  87.            
  88.            // Kasowania z bazy danych
  89.            public function delete($query)
  90.            {
  91.                $result=Sqli::instance()->query($query);
  92.                if($result===true)
  93.                {
  94.                    echo "Dane zostały usunięte!";
  95.                }
  96.                else {
  97.                    echo "Wystąpił błąd podczas usuwania danych!";
  98.                }
  99.            }
  100.            
  101.            
  102.            // Koniec klasy
  103.        }
  104.        
  105.  
  106. $sqli = Sqli::instance();
  107.  
  108.  
  109.  
  110. ?>

Robię np:
  1. <?php
  2. require 'mysqli.class.php';
  3. $sqli->delete("delete from users where log='admin'");
  4. ?>

I dostaje błąd:
  1. <?php
  2. [b]Fatal error[/b]:  Call to undefined method Sqli::query() in [b]C:wampwwwmysqlimysqli.class.php[/b] on line [b]91[/b]
  3. ?>

Co najdziwniejsze dla mnie w klasie user, działa wszystko bez problemu jakiegokolwiek, a w tej klasie do obsługi bazy danych nie działa sad.gif
Go to the top of the page
+Quote Post
Crozin
post 3.05.2009, 09:14:18
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Ale dlaczego
  1. <?php
  2. $result=Sqli::instance()->query($query);
  3. ?>
Przecież wewnątrz metody masz już obiekt, więc $this.

Poza tym nie korzystaj z (anty)wzorca Singleton tutaj - istnieje prawdopodobieństwo, że możesz w przyszłości pokusić się o to by skrypt działał na dwóch bazach danych - co wtedy?

Pozatym:
1) Klasa użytkownik jest rozszerzeniem klasy sqli - widzisz logikę w tym? Ja nie. Do klasy User powinienenś w jakiś sposób przekazać już istniejący obiekt klasy Sqli (swoją drogą skąd taka nazwa?)
2) Klasa User jak sama nazwa mówi powinna w pierwszej kolejności reprezentować użytkownika - tutaj internaute. I bez znaczenia jest to czy jest on zalogowany czy nie.
3) Pozatym jak już ayeo wskazał: dane powinny być przekazywane w parametrach funkcji, a nie odczytywane z globalnych danych w jej wnętrzu
Go to the top of the page
+Quote Post
PawelC
post 3.05.2009, 09:19:33
Post #5





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Cytat
Poza tym nie korzystaj z (anty)wzorca Singleton[...]

Taka była rada ayeo, żeby z niego korzystać.
Cytat
3) Pozatym jak już ayeo wskazał: dane powinny być przekazywane w parametrach funkcji, a nie odczytywane z globalnych danych w jej wnętrzu

To już zmieniłem.
Cytat
(swoją drogą skąd taka nazwa?)

Tak jakoś, to tylko w celach treningowych.
Cytat
1) Klasa użytkownik jest rozszerzeniem klasy sqli - widzisz logikę w tym? Ja nie. Do klasy User powinienenś w jakiś sposób przekazać już istniejący obiekt klasy Sqli

W jaki sposób? Gdzieś czytałem coś o parent::

Klasa user ma być odpowiedzialna, za logowanie, dodanie, edytowanie i usunięcie użytkownika. Czyli rozumiem że nie mam korzystać z singletonu w tym wypadku.

Ten post edytował ExPlOiT 3.05.2009, 09:20:46
Go to the top of the page
+Quote Post
Crozin
post 3.05.2009, 09:29:47
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
Taka była rada ayeo, żeby z niego korzystać.
IMO była ona tutaj błędna.
Cytat
W jaki sposób? Gdzieś czytałem coś o parent::

Klasa user ma być odpowiedzialna, za logowanie, dodanie, edytowanie i usunięcie użytkownika. Czyli rozumiem że nie mam korzystać z singletonu w tym wypadku.
parent:: oznacza odwołanie się do rodzica, ale jak już napisałem klasa User nie powinna dziedziczyć po sqli bo ona nie jest rozwinięciem sqli, ona tylko obiektu takiej klasy używa.
Go to the top of the page
+Quote Post
PawelC
post 3.05.2009, 09:35:50
Post #7





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Ok dzięki za rady, coś wykombinuje, bo bez wzorca projektowego singleton wszystko ładnie pięknie mi działa.
To powiedz mi jeszcze jak wykorzystać klasę Sqli, w klasie Users nie dziedzicząc jej.
Wiem, że zadaje głupie pytania ale dopiero się uczę OOP.

Ten post edytował ExPlOiT 3.05.2009, 09:41:24
Go to the top of the page
+Quote Post
Crozin
post 3.05.2009, 09:54:24
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Na przykład:
  1. <?php
  2.  
  3. class sqli{
  4.  //....
  5. }
  6.  
  7. class User{
  8.   private $db;
  9.  
  10.   public function __construct(sqli $db){
  11.      $this->db = $db;
  12.   }
  13.  
  14.   //...
  15.  
  16.   public function someFunction(){
  17.      $this->db->update('...');
  18.   }
  19. }
  20.  
  21. $db = new sqli(...);
  22. $user = new User($db);
  23. ?>
Go to the top of the page
+Quote Post
PawelC
post 6.06.2009, 00:00:45
Post #9





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Sorki że wracam do tego tematu, ale wyczarowałem pewny kod, a dokładnie wykorzystanie klasy sqli w klasie user i chciałem się dowiedzieć czy dobrze to zrobiłem. Oto kod:
  1. <?php
  2.  
  3.  
  4.        class sqli
  5.            {
  6.                
  7.                
  8.                
  9.                //Konstruktor
  10.            public function __construct($host,$login,$haslo,$baza)
  11.            {
  12.                $this->mysqli=new mysqli($host,$login,$haslo,$baza);
  13.            }
  14.            
  15.            
  16.            
  17.            
  18.            
  19.            public function getRow($query)
  20.            {
  21.                return $this->mysqli->query($this->query=$query)->fetch_object();
  22.                
  23.            }
  24.                    
  25.            
  26.            
  27.            
  28.            // Pobranie danych z bazy
  29.            public function getRows($query)
  30.            {
  31.                $dane=array();
  32.                $result=$this->mysqli->query($this->query=$query);
  33.                while($wynik=$result->fetch_object()){
  34.                    $data[]=$wynik;
  35.                    
  36.                }
  37.                return $data;
  38.                
  39.                /* $rows=$sqli->getRows("select * from users");
  40.                 foreach($rows as $row)
  41.                 {
  42.                 echo $row->log.' | '.$row->pass;
  43.                 }
  44.                 */
  45.            }
  46.            
  47.            
  48.            
  49.            //Dodawania wartości do bazy danych
  50.            public function insert($query)
  51.            {
  52.                $result=$this->mysqli->query($this->query=$query);
  53.                if($result===true)
  54.                {
  55.                    echo "Dane zostały dodane do tabeli!";
  56.                }
  57.                else {
  58.                    echo "Wystąpił błąd podczas dodawania danych do tabeli!";
  59.                }
  60.            }
  61.            
  62.            
  63.            
  64.            // Aktualizacja danych w bazie
  65.            public function update($query)
  66.            {
  67.                $result=$this->mysqli->query($this->query=$query);
  68.                if($result===true)
  69.                {
  70.                    echo "Dane zostały zaaktualizowane!";
  71.                }
  72.                else {
  73.                    echo "Wystąpił błąd podczas aktualizowania danych!";
  74.                }
  75.            }
  76.            
  77.            
  78.            
  79.            
  80.            // Kasowania z bazy danych
  81.            public function delete($query)
  82.            {
  83.                $result=$this->mysqli->query($this->query=$query);
  84.                if($result===true)
  85.                {
  86.                    echo "Dane zostały usunięte!";
  87.                }
  88.                else {
  89.                    echo "Wystąpił błąd podczas usuwania danych!";
  90.                }
  91.            }
  92.            
  93.            
  94.            // Koniec klasy
  95.        }
  96.        
  97.        
  98.        class User{
  99.              private $db;
  100.  
  101.              public function __construct(sqli $db){
  102.             $this->db = $db;
  103.              }
  104.  
  105.  
  106.              public function addUser($login,$haslo){
  107.             $this->db->insert("insert into user values('$login','$haslo')");
  108.              }
  109.        }
  110. ?>

A tak go używam:
  1. <?php
  2. $db = new sqli('localhost','root','','spam');
  3. $user = new User($db);
  4. $user->addUser('adminek','adminek2');
  5. ?>

Oczywiście kod działa jak należy, tylko chodzi mi o to czy jest to poprawnie napisane. Krótko mówiąc rozumuję iż, w taki sposób jak zrobiłem powyżej, uzyskuje dostęp do klasy sqli oraz jej metod, dobrze myślę czy może się mylę? Wnioskuje to po tym że uzyskałem dostęp do metody update, która jest w klasie sqli.

Ten post edytował ExPlOiT 6.06.2009, 00:11:09
Go to the top of the page
+Quote Post
Crozin
post 6.06.2009, 07:31:45
Post #10





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


A klasa User ma reprezentować jakiegoś konkretnego użytkownika z bazy danych, czy ma robić za swego rodzaju Managera pozwalającego dodawać, pobierać użytkowników?
Go to the top of the page
+Quote Post
PawelC
post 6.06.2009, 11:17:34
Post #11





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Ma robić za managera, czyli dodawać usera, kasować, pobierać użytkowników, logować itp

Ten post edytował ExPlOiT 6.06.2009, 11:31:53
Go to the top of the page
+Quote Post
marcio
post 6.06.2009, 15:28:02
Post #12





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


  1. <?php
  2. public function __construct($host,$login,$haslo,$baza) {
  3.  
  4.      $this->mysqli=new mysqli($host,$login,$haslo,$baza);
  5.            
  6.   }
  7. ?>

To nie jest najlepsze rozwiazanie a czym nie jest tez bledne lepiej przekazuj obiekt do construct'a jak to robisz w klase User

I do tego dla klasy sqli ja bym zrobil wspolne APi(mowa o interfejsach) zebys potem mogl latwo rozszerzac twoja klase user o nowe database'y nie zmieniajac starego kodu tylko tworzysz nowy sterownik ze takimi samymi nazwami funkcji ktore analogicznie beda mialy robic to co robia tez z innej klasy i wtedy tylko przekazujesz odpowiedni obiekt bazy ktorej chcesz uzywac do klasy User.

P.S ewentualnie mozesz uzyc inne nazwe funckji jesli ma to byc np baze dla plikow *.txt robiac adapter na stare APi i bedzie good to tylko takie moje zdanie.

Ten post edytował marcio 6.06.2009, 15:29:15


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
Crozin
post 6.06.2009, 15:39:52
Post #13





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Co do bazy danych... chyba lepiej będzie skorzystać z PDO. A obiekt ów klasy, przekazać, a nie tworzyć we wnętrzu.
Go to the top of the page
+Quote Post
marcio
post 6.06.2009, 15:44:31
Post #14





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Cytat(Crozin @ 6.06.2009, 16:39:52 ) *
Co do bazy danych... chyba lepiej będzie skorzystać z PDO. A obiekt ów klasy, przekazać, a nie tworzyć we wnętrzu.

O tym samym mowie jednak z tym PDo to nie tak do konca na poczatek sam niech sie pobawi w pisanie sterownikow przynajmniej czlowiek sie czegos nauczy.


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
Crozin
post 6.06.2009, 15:48:49
Post #15





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Niech użyje PDO... nauczy się korzystać z całkiem dobrych, gotowych narzędzi. smile.gif

Ćwiczyć może przecież robiąc to co teraz robi.
Go to the top of the page
+Quote Post
erix
post 6.06.2009, 17:18:43
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Niech użyje PDO... nauczy się korzystać z całkiem dobrych, gotowych narzędzi.

Ta, i nieraz wkurzających (tzn. jak się nie uważa ze składnią i ciężej błędy wyłapać). tongue.gif Ale to swoją drogą. Mi w PDO brakuje czegoś w rodzaju seek po wynikach...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
PawelC
post 6.06.2009, 21:21:51
Post #17





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Czyli krótko mówiąc podążam w dobrym kierunku, z tym że mam zamienić MySQLI na PDO

Ten post edytował ExPlOiT 6.06.2009, 21:22:09
Go to the top of the page
+Quote Post
marcio
post 6.06.2009, 21:51:49
Post #18





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Cytat
z tym że mam zamienić MySQLI na PDO

To juz zalezy od ciebie ja bym nie zmienial tongue.gif

Ogolnie nie jest zle ale przy tak malych kodach to jest dosyc latwo napisz system news'ow z obsluga xml/rss/html i wspomagajacy bazy mysql,pliki i np oracle oczywiscie zaimplementuj co chcesz nie musisz wszystkiego ale daj taka mozliwosc bez ingerencji w kod ze strony user'a zmieniajac tylko 1-2 linijki tongue.gif to juz bedzie cos sam pisalem takie cos po wczesniejszym napisaniu klasu do autoryzacji i powiem latwo nie bylo tongue.gif ale duzo sie nauczylem biggrin.gif


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
PawelC
post 6.06.2009, 22:07:23
Post #19





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Cytat(marcio)
To juz zalezy od ciebie ja bym nie zmienial tongue.gif

Na wielu forach, doradzają mi abym korzystał z PDO, zamiast MySQLI
Cytat(marcio)
Ogolnie nie jest zle ale przy tak malych kodach to jest dosyc latwo

Zgadza się, gorzej jak się kod bardziej rozbuduje.

A właśnie co do obsługi użytkowników, to robić osobne klasy na dodawanie usera, kasowanie, pobieranie, logowanie, rejestracja etc... i na zarządzanie profilem, czyli aktualizacja profilu itp
Czy lepiej zrobić jedną klasę, takiego managera który będzie robił wszystko z użytkownikiem np dodawane, aktualizacja profilu itp

Mi się wydaje, że lepszym rozwiązaniem będzie stworzenie jednej klasy do obsługi użytkowników, a w niej wszystko co z użytkownikami związane, ale chciałbym dowiedzieć się, jakie jest wasze zdanie na ten temat.

Ten post edytował ExPlOiT 6.06.2009, 22:12:15
Go to the top of the page
+Quote Post
marcio
post 6.06.2009, 22:21:55
Post #20





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Cytat
Na wielu forach, doradzają mi abym korzystał z PDO, zamiast MySQLI

Ja nie powiedzialem ze masz zmienic na rzecz mysqli jednak albo uzywasz FW i ich gotowe sterowniki dla baz albo korzystasz z wlasnych nie warto mieszac wedlug mnie.

Ogolnie Rejestracja to calkiem inna klasa ewentualnie do rejestracji/logowania mozesz dodac edycje/usuwanie konta etc... jednak lepiej stwotrzyc 3 klasy gdzie kazda ma swoje zadanie czyli:
-Register
-Auth
-User_manager

I to wsio

Pozdro tongue.gif


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 05:16