Witam,
pisałam już kiedyś o koszyku. Wszystkie problemy z nim związane rozwiązałam i wydawało mi się, że już wszystko jest ok, ale zapomniałam zmienić ustawień serwera na register_globals = off, po tej zmianie nie trzyma mi tego koszyka. Nie pamięta zmiennej $stan, co wydaje się być logiczne, ale teraz proszę o pomoc, co muszę zrobić, by jednak ten koszyk działał z register_globals = off.
Fragment jak mam to zrobione:
[php]<?php
session_start();
...
$koszyk=$_SESSION['koszyk'];
$dodaj=$_GET['dodaj'];
$usun=$_GET['usun'];
$zmien=$_GET['zmien'];
...
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
unset($this->zawartosc[$element]);
}
function zmien($element, $ilosc)
{
$this->zawartosc[$element] = $ilosc;
}
function stan()
{
return $this->zawartosc;
}
}
if (!$koszyk)
$koszyk = new koszyk;
...
if ($dodaj)
$koszyk->dodaj($dodaj1, 1);
...
$stan = $koszyk->stan();
...
//i wyświetlanie koszyka
if ($stan)
{
$ilewkosz=0;
while (list($key, $value) = each($stan))
{
echo "produkt: $key ilość:$value<br />";
}
}
?>[/php]
próbowałam robić coś w stylu:
[php]<?php
$_SESSION['stan'] = $koszyk->stan(); //z lini 45 (patrz wyżej)
$stan=$_SESSION['stan'];
?>[/php]
ale to nie pomogło.
koszyk na zakupy na sesjach, nie działa przy register_global
-
Olimpia_ona
- Nowy

- Posty: 27
- Rejestracja: pt gru 03, 2004 7:41 pm
- Lokalizacja: Elbląg
Re: koszyk na zakupy na sesjach, nie działa przy register_global
Nie wiem czy tak zrobiłaś czy nie ale jak wklejasz caly kod do podstrony z koszykiem to na pewno masz session_start(); na początku całego kodu ? Chodzi mi o coś takiego:
[php]<?php
session_start();
?>
/*reszta kodow html i php*/
[/php]
[php]<?php
session_start();
?>
/*reszta kodow html i php*/
[/php]
Re: koszyk na zakupy na sesjach, nie działa przy register_global
a co to za zmienna $dodaj1 w 43. linii?
