Article View: pl.comp.lang.php
Article #220435Re: dostaje blad zwiazany z tym, ze sesje tworze w klasie
From: Mariusz Chwalba
Date: Mon, 07 Sep 2009 07:06
Date: Mon, 07 Sep 2009 07:06
41 lines
2504 bytes
2504 bytes
On Thu, 03 Sep 2009 16:32:32 +0200, emila <warunek@poczta.onet.eu> wrote: > Mariusz Chwalba pisze: >> On Thu, 03 Sep 2009 15:34:57 +0200, dziobacz <aaabbbcccdaabb@gmail.com> >> wrote: >> [...] >>> session_start(); >>> $koszyk = klasaKoszyk::getInstance(); >> To chyba nie jest kompletny kod, prawda? W tym miejscu za każdym razem >> inicjowałbyś sesję ponownie. > w którym miejscu?? W getInstance(). PHP sam z siebie jest bezstanowy, więc private static $koszyk_na_zakupy przy każdym wywołaniu skryptu będzie pusty. Wywoła zatem konstruktora, który zaś nadpisze $_SESSION['koszyk']. On Thu, 03 Sep 2009 16:12:43 +0200, dziobacz <aaabbbcccdaabb@gmail.com> wrote: > Nie, ten kod jest kompletny - tzn. mam pare drobnych rzeczy jeszcze, > ale sa one nieistotne. Odnośnie session_register() - to nie > korzystam, nie wiem nawet co to jest, ale z tego co wlasnie > przeczytalem to nie zaleca sie tego uzywac, wiec chyba dobrze robieTak > czy siak nie rozumiem dlaczego dostaje ten blad. W jakiś sposób przypisujesz $koszyk do $_SESSION['koszyk']. Jeżeli nie sam, to PHP robi to za Ciebie. Będę strzelał w register_globals w php.ini ustawiony na "true". Przy drugim wywołaniu skryptu przypisuje on ci do $kosztyk automatycznie $_SESSION['koszyk']. Gdy Twój getInstance zwraca nowy klasaKoszyk, przypisujesz go zatem nie do zwykłej zmiennej, ale do zmiennej sesyjnej. Stąd przy następnym wywołaniu w $_SESSION['koszyk'] masz nie tablicę, a obiekt. Dla apache register_globals wyłączysz tworząc plik .htaccess (z kropką) o treści: php_flag register_globals off HTH, -- Mariusz 'koder' Chwalba
Technical Details
Message-ID:
<op.uzvko4mya6rut4@koder>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mailReferences:
<2ebaa9a3-80d1-43af-9af0-1c3f506292ba@e11g2000yqo.googlegroups.com> <op.uzooploma6rut4@koder> <h7ok1u$d1e$1@news.onet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail From: "Mariusz Chwalba" <mariusz@chwalba.net> Newsgroups: pl.comp.lang.php Subject: Re: dostaje blad zwiazany z tym, ze sesje tworze w klasie Date: Mon, 07 Sep 2009 09:06:30 +0200 Organization: unorganized Lines: 41 Message-ID: <op.uzvko4mya6rut4@koder> References: <2ebaa9a3-80d1-43af-9af0-1c3f506292ba@e11g2000yqo.googlegroups.com> <op.uzooploma6rut4@koder> <h7ok1u$d1e$1@news.onet.pl> NNTP-Posting-Host: 91.207.243.244 Mime-Version: 1.0 X-Trace: news.onet.pl 1252307190 24264 91.207.243.244 (7 Sep 2009 07:06:30 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Mon, 7 Sep 2009 07:06:30 +0000 (UTC) User-Agent: Opera Mail/10.00 (Linux) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit