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;
}
}
?>
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);
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
