na początek powiem, że nie umiem programować obiektowo, ale znalazłam bardzo czytelny kawałek skryptu, który bym chciała dołączyć do swojego strukturalnego kodu.
Na początek wkleje ten piękny skrypt.
plik koszyk.php
<?php /* koszyk.php - klasa bazowa koszyka na zakupy */ /* zawiera definicje podstawowych operacji na koszu */ /* Zaimplementowane funkcje: */ /* koszyk - konstruktor tworzy koszyk z zawartoscia */ /* dodaj - dodaje $ilosc $elementow do koszyka */ /* usun - usuwa $ilosc $elementow z koszyka */ /* stan - zwraca zawartosc w postaci hasza */ class koszyk { /* tablica asocjacyjna zawierajaca stan koszyka */ /* klucz, to wartosc id produktu, wartosc to ilosc elementow */ var $zawartosc; function dodaj($element, $ilosc) { $this->zawartosc[$element] += $ilosc; } function usun($element, $ilosc) { if ($this->zawartosc[$element] > $ilosc) $this->zawartosc[$element] -= $ilosc; else } function stan() { return $this->zawartosc; } } ?>
plik session.php
<?php /* klasa koszyka */ include('koszyk.php'); /* start sesji */ if (!$koszyk) $koszyk = new koszyk; if ($dodaj) $koszyk->dodaj($dodaj, 10); if ($usun) $koszyk->usun($usun, 10); $stan = $koszyk->stan(); if ($stan) ?>
i teraz tak, to co jest pod słowem plik session.php wkleiłam sobie na stronę pomiędzy jakieś tam <td></td> no i wyskakuje mi błąd
Fatal error: Unknown(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition <b>koszyk</b> of the object you are trying to operate on was loaded _before_ the session was started
więc zrobiłam tak jak napisali i wkleiłam fragment include("koszyk.php"); na górze swojej strony index.php
<?php include ('incl/funkcje.php'); include("koszyk.php"); $status=$_GET['status']; ..itd ?>
no ale w tym wypadku wyświetla mi się błąd:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\usr\krasnal\www\sexshop\koszyk.php:60) in c:\usr\krasnal\www\sexshop\index.php on line 4
Wiec jak ja mam to rozwiązać? Pomocy