![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 25.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Oto Klasa:
Kod <?php class Koszyk { var $zawartosc; function dodaj($sub,$ilosc) { $this->zawartosc[$sub]+=$ilosc; } function usun($sub,$ilosc) { if ($this->zawartosc[$sub]>$ilosc) $this->zawartosc[$sub]-=$ilosc; else unset($this->zawartosc[$sub]); } function zmien($sub,$ilosc) { $this->zawartosc[$sub] =$ilosc; } function stan() { return $this->zawartosc; } } class NazwanyKoszyk extends Koszyk { var $wlasciciel; function ustaw_wlasciciela($nazwa) { $this->wlasciciel=$nazwa; } } ?> a oto skrypt obsługujący klasę: Kod session_start(); include("koszyk.inc"); $select=mysql_query("select nazwa,cena,foto,id,opis from produkty where id='$sub'") or die(mysql_error()); $prod=mysql_fetch_row($select); if(!isset($nowykoszyk) || !is_object($nowykoszyk)) { $nowykoszyk = new NazwanyKoszyk(); $nowykoszyk->ustaw_wlasciciela($_SESSION['prawid_uzyt']); } $nowykoszyk->dodaj($prod[3],$ilosc); niestety podczas drugiego dodania do koszyka produktu wyskakuje błąd: Fatal error: Call to a member function dodaj() on a non-object odnszący się do linijki 82 czyli: Kod $nowykoszyk->ustaw_wlasciciela($_SESSION['prawid_uzyt']); proszę o pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował keresh 27.08.2008, 11:19:37 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Kod $nowykoszyk->dodaj($prod[3],$ilosc); Tzn ze $nowykoszyk nie jest obiektem. Dopilnuj, żeby był. a dopilnujesz poprawiajac literówke Kod $nowykoszyk = new NazawnyKoszyk(); na Kod $nowykoszyk = new NazwanyKoszyk();
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 25.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zmieniłem literówke lecz niestety nadal podczas drugiej próby dodania produktu do koszyka wyskakuje ten sam błąd (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Wiec dopilnuj by $nowyKoszyk był obiektem.
Kod if(!isset($nowykoszyk) || !is_object($nowykoszyk))
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 25.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nadal to samo (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) najdziwniejsze że za pierwszym razem wszystko jest dobrze dopiero przy próbie drugiego dodania nie działa
Ten post edytował keresh 27.08.2008, 11:09:50 |
|
|
![]()
Post
#6
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Proszę o zmianę tytułu tematu na taki który opisuje problem oraz dodanie bbcode. W innym wypadku temat zostanie zamknięty.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 35 Dołączył: 5.12.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To może taka zamiana:
BTW: Przy pisaniu obiektowym polecam się przesiąść na PHP5. Ma kilka fajnych funkcji jak na przykład: __construct(), __get(), __set(), etc... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 25.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
To może taka zamiana:
BTW: Przy pisaniu obiektowym polecam się przesiąść na PHP5. Ma kilka fajnych funkcji jak na przykład: __construct(), __get(), __set(), etc... Dziękuje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pomogło |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 01:33 |