![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 2.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
witam,
mam taki konstruktor jak ponizej, dlaczego wyzuca mi blad: Missing argument 1 for authentication::__construct(), Missing argument 2 for authentication::__construct(),
Ten post edytował spandor 16.02.2009, 00:56:01 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Nie wkleiłeś całego kodu.
2. Nie podałeś argumentów konstruktorowi, co jest niejasne? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 2.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Juz wrzucilem caly.
No wlasnie nie wiem o co chodzi, co kolwiek nie podal to ciagle missing. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
2. Nie podałeś argumentów konstruktorowi, co jest niejasne? A konkretnie podczas tworzenia obiektu napisałeś 'new Klasa();', a nie 'new Klasa(arg1, arg2);'. Pozdro -------------------- serwiswww.pl
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Pokaż jak tworzysz obiekt.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 2.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
juz jest OK, nie wyrzuca bledu. (db_connect laczy z baza) Ale mam prosbe, czy ktos moglby mi wytlumaczyc, jako ze to sa moje poczatki zabawy z OOP i ten skrypt znalazlem na necie. Czy _read zostal tu dobrze uzyte bo mi wyrzuca blad
Fatal error: Call to a member function _read() on a non-object in /tabaknatie/inc_funkcje.php on line 61 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ten błąd oznacza, że próbujesz wykonać metodę na zmiennej, która nie jest obiektem. Innymi słowy, zmienna $objekt nie jest obiektem (może php obraził się za błędną pisownię
![]() Nie wiem, jak względem pierwszego kawałka kodu, ma się drugi, ale jeśli napiszesz tak:
powinno śmignąć ![]() Ten post edytował likemandrake 17.02.2009, 00:30:35 -------------------- serwiswww.pl
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 2.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie przed chwilą miałem identycznie i ciągle wyrzuca ten błąd.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
W takim razie na samym początku skryptu trzaśnij taką linijkę:
Może wywali Ci jakieś dodatkowe komunikaty błędów -------------------- serwiswww.pl
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 2.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Redefining already defined constructor for class authentication in /tabaknatie/inc_funkcje.php on line 28
taki dodatkowy blad dostalem. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dobra już wiem
Widzę, że w Twojej klasie mieszasz dwa style - tego z PHP 4 i PHP 5 W PHP 4 konstruktor klasy nazywa się tak samo jak klasa, a widzę, że masz tam metodę o takiej samej nazwie jak Twoja klasa. Dodatkowo definiujesz konstruktor zgodny z PHP 5, czyli __construct(). Stąd Twoje problemy ![]() Zdecyduj się na składnię PHP 5, ale tak czy inaczej musisz zmienić nazwę metody o której pisałem ![]() -------------------- serwiswww.pl
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 2.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
No tak, ponieważ właściwość $session w Twojej klasie nie jest obiektem tylko wartością logiczną
![]() Przyznam się, że nie analizowałem Twojego kodu ![]() -------------------- serwiswww.pl
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 2.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
To jak ten problem rozwiazac?
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Słyszałeś o tablicy $_SESSION? Chyba nie, no więc poczytaj sobie. I te Twoje "pseudo" funkcje(?), obiekty(?) typu $session->_read(), $session->_write(), no nie wiem z którego kosmosu to masz... Funkcja to funkcja, czyli session_read(), session_write(), po za tym nie używaj ich, bo całym rozwiązaniem jest tu stosowanie właśnie tablicy $_SESSION... W klasie musisz mieć tylko pewność, że sesja została wystartowana, a więc sprawdzasz to powiedzmy w konstruktorze, jak wiesz, że sesja nie została uruchomiona, wywalasz wyjątek. Do konstruktora przekazujesz tylko połączenie z bazą, po za tym wywal te Twoje var $session i pochodne.
php.net chyba Twoim wrogiem jest, wystarczy że poszukasz coś o session_start() i już masz z lewej liste wszystkich funkcji do obsługi sesji, po za tym jak zjedziesz troszkę na dół strony, masz też odwołania i m.in. na liście odwołań pojawiło się magiczne słowo $_SESSION. Jeżeli jest tak jak piszesz, że skrypt masz z netu, to ja naprawdę nie wiem gdzie ja żyję ![]() Ten post edytował likemandrake 17.02.2009, 10:51:03 -------------------- serwiswww.pl
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 113 Pomógł: 19 Dołączył: 2.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jak już masz skrypt z internetu, to powinni do niego dolozyc wlasna klase sesji, ktora prawdopodobnie na wlasne potrzeby sobie napisali (np aby przechowywac dane w bazie). Pozostaje ci albo zmodyfikowanie klase authentication tak aby obslugiwala natywne sesje PHP, albo znalesc skrypt autora.
pozdr -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 02:36 |