![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z klasą
Tak wykonuje rejestracje:
Dodaje pomyślnie dane do bazy. Gorzej jest z pobraniem id zarejestrowanego użytkownika. (jak wysyłam maila to potrzebuje te dane) pobieram tak:
nic nie zwraca Klasa:
-------------------- |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
a co ma ci to zwrocic??
moze nie umiem programowac obiektowo jak ty ale nie widze funkcji userId ktora by cos miala zwracac.. zreszta ja bym napisal $user->userId(); pod warunkiem ze funkcja istnieje w extends functions bo tutaj jej nie widze |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 0 Dołączył: 3.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
a spróbuj po prostu $user->uid ?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
też robiłem i nic, zwrócić ma ID użytkownika który się zarejestrował
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
kurde nie zauwazylem tego ;
nic nie zwraca, a wlasciwie zwraca ci zmienna userId, dlatego ze jak mi sie wydaje wylowanie u->userId; szuka najpierw zmiennej o polu jakie wywolujesz a jak nie znajdzie dopiero pozniej wchodzi do __get i wykonuje warunek.. sprobuj tak
Ten post edytował wiiir 27.02.2010, 22:02:14 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
niestety nie działa, mam tak:
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 13.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
A spróbuj wyswietlic całą zawartosc obiektu
i zobacz czy są potrzebne dane.
Czemu pracując na obiekcie w jego metodzie tworzysz nowy obiekt tego samego typu? Czy nie lepiej zainicjowac zmienne w bieżącym obiekcie? Mozliwe, ze to powoduje blad. W sensie czy wywloujesz:
a funkcja nie inicjalizuje zmiennych w tym obiekcie tylko tworzy nowy. ![]()
ale ja bym zmienil ta funkcje by nie tworzyla nowego obiektu - chyba, ze jest to akurat celowe ![]() Ten post edytował slimy 18.04.2010, 22:53:08 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
zrobiłem tak
niestety nie działa -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Co robi obiekt klasy User?
1) Reprezentuje jeden konkretny rekord z bazy danych 2) Sprawdza poprawność danych wprowadzonych w formularzu 3) Wyświetla sformatowaną odpowiedź 4) Pobiera inne obiekty klasy User z bazy danych 5) Generuje losowe tokeny 6) Przetwarza formularz 7) Wyświetla formularz A zgodnie z ideą programowania obiektowego: jeden obiekt - jedno zadanie. Poza tym: 1) W User::__get() masz tzw. dead-code - czyli fragment kodu, który się nigdy nie wykona (chodzi o ten drugi IF z showUserId) 2) Brak jakiegokolwiek powiadamiania czy coś co zostało wykonane (nie) wykonało się poprawnie 3) Wielokrotnie powtarzasz dokładnie ten sam kod różniący się przykładowo jednym waruniem. Google: DRY reguła, Google: KISS reguła 4) htmlspecialchars używa się przed wyświetleniem danych w dokumentach XML/HTML i im podobnych Tak więc: 1) Poczytaj co nieco teorii na temat programowania obiektowego - bo brniesz w coś czego nie da się sklasyfikować jako OOP - co więcej... to jedynie utrudnia Ci życie 2) Podziel sobie różne zadania na różne obiekty 3) Zaplanuj jak owe obiekty będą ze sobą współpracować 4) Dopiero wtedy bierz się za pisanie |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 13:38 |