![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Witam! Jak widać zaczynam w OOP. Dziś napisałem klasę na logowanie, lecz nie wiem czy będzie ona dobra. Oto kod:
Tu mam pytania. Czy jest ona dobra i bezpieczna //Nie dałem żadnego kodowania hasła specjalnie ![]() ![]() Ten post edytował K4mil94 3.04.2009, 19:10:13 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 385 Pomógł: 26 Dołączył: 22.03.2008 Skąd: TM Ostrzeżenie: (0%) ![]() ![]() |
Czy zadziała to Ty nam powiedz
![]() ![]() -------------------- Zapraszam na mojego bloga. Dowiedz się jak uzyskać darmowy, zaufany certyfikat albo jak rozpoznawać głos ;)
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
po co tak:
nie lepiej :
i bez wywołania ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o public, privat itd to pisałem to pod PHP 4.
@Spawnm można i tak ;]. Wiesz początkuje ;] Ten post edytował K4mil94 3.04.2009, 20:08:19 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
czemu piszesz w php4
![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Takie mam zainstalowane apache
![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
private nie możesz wywołać poza klasą , jednak możesz wywołać funkcję publiczną która operuje na czymś prywatnym.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Czyli np.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Czyli w php 5 zamiast nazwy klasy w konstruktorze ma być __construct ? Wiem że się nie wywoła ;] Nie określiłem ich przy tworzeniu obiektu.
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czyli w php 5 zamiast nazwy klasy w konstruktorze ma być __construct ? dokładnie. po prostu daj funkcję __construct, a ona sama się odpali Tylko mała uwaga co do dziedziczenia - jeśli masz klasy X i Y, gdzie X dziedziczy po Y, to w konstruktorze klasy X samemu musisz odpalić konstruktor klasy Y. Ten post edytował .radex 3.04.2009, 20:39:13 -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 4 Dołączył: 15.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ey, Panowie, zwracacie mu uwagę na błędy w składni, a nikt mu nie powie, że tak klasa ma mało co wspólnego z OOP?
Obiekt powinien reprezentować coś rzeczywistego, na przykład użytkownika. I zdecydowanie przejdź na nazewnictwo angielskie. |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Działa mi bez ;P
@pejott czyli jak to powinno wyglądać ? Ten post edytował K4mil94 5.04.2009, 11:57:53 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Co do tego jak to ma wyglądać to nie ma jakiś sztywno określonych reguł.
Ale od początku: to co Ty napisałeś nie ma nic wspólnego z OOP (co zauważył już pejoot). Ty napisałeś sobie funkcję (w dodatku "słabą") i otoczyłeś to tylko class'em. 1) W sumie to jedna z ważniejszych rzeczy (choć na pozór na taką nie wygląda). Przejdź na angielski. Ułatwisz i sobie i innym życie. 2) Logowanie nie jest obiektem. Proces logowania to pewna czynność, którą wykonujesz na jakimś obiekcie. Tutaj tym obiektem powinien być użytkownik. Zauważ że logowanie jedynie lekko modyfikuje obiekt użytkownika. Z takiego który jest niezidentyfikowany (gość) na określonego (konkretny użytkownik). 3) Jedna klasa, jedno zadanie. Twoja robi teraz przynajmniej trzy. Weryfikuje dane, przetwarza dane w bazie danych, operuje na użytkowniku. Przykładowo mógłbyś to zrobić tak: (pseudokod)
Sprawdzanie poprawnosci przeslanych danych (chodzi o sam fakt wypelnienia wszystkich pol poprawnymi wzorcami) może odbywać się w obiekcie formularza. Natomiast sprawdzanie czy użytkownik istnieje/czy ma rzeczywiście takie hasło IMO lepiej jest przenieść do osobnego walidatora. @Spawnm: apropo http://forum.php.pl/index.php?showtopic=11...mp;#entry592756 Akurat sposób jaki zaprezentował autor jest IMO lepszy. Uniezależnia obiekt od źródła pochodzenia danych. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem ten kod tak że mam klasę formLog, która ma w sobie formularz, weryfikacje itd. Potem tylko użycie tych funkcji które się w niej znajdują i tyle ?
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 4 Dołączył: 15.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
po co tak:
nie lepiej :
i bez wywołania ![]() No i tu właśnie rezygnujesz z elastyczności jaką daje OOP, bo narzucasz z góry, że dane będą wysłane formularzem. A może kiedyś będziesz potrzebował zalogować się inną drogą ? |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
patrząc że funkcja nazywa się logowanie zakładam że inna droga == $_GET
jakoś wątpię aby ktoś chciał wysyłać hasło getem... już prędzej jego kod był by lepszy bo można by wysyłać $_POST o różnych nazwach pass || password itp... |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 4 Dołączył: 15.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
No to kiedyś się zdziwisz, GET był akurat słabym przykładem, ale coś bardziej realnego.
Chcesz stworzyć odnośnik, który po kliknięciu automatycznie Cię zaloguje, czasami można takie spotkać po rejestracji. Co wtedy ? Musisz myśleć abstrakcyjnie, a nie ograniczać się tylko do bieżących zapotrzebowań. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Koledzy! Napisałem rejestracje w OOP
![]() ![]() Oto kod: PS. Wesołych świąt ![]() Ten post edytował K4mil94 11.04.2009, 10:00:35 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.08.2025 - 03:42 |