![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 16.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
mam maly problem i nie wiem czy uda mi sie to wyjasnic,
zrobilem sklep i na windzie wszystko dziala - na serwerze musialem tylko podmienic zmienne na $koszyk= $_GET['koszyk']; itp. i wlasciwie tez wszystko dziala tylko ze nie zapamietuje mi artykulow dodanych do koszyka co wybiore produkt z listy pokazuje mi go jako wybrany, ale jak dodaje nastepny to pojawia sie nowy a znika stary - przesle podspodem kod z koszyka moze cos przeoczylem - probowalem juz wszystkich sposobow i nic z tego wyczytalem jeszcze, ze jeśli włączona jest opcja track_vars a register_globals jest wyłączona, tylko pozycje należące do zmiennej asocjacyjnej $HTTP_SESSION_VARS mogą być zarejestrowane jako zmienne sesyjne - admin mi powiedzial, ze wlasnie takie ma ustawenia i tak tez zrobilem : KOSZYK.php: [php:1:251b6a6121]<?php <? $HTTP_SESSION_VARS['koszyk']= $_GET['koszyk']; $HTTP_SESSION_VARS['dodaj']= $_GET['dodaj']; //$HTTP_SESSION_VARS['usun']= $_GET['usun']; $HTTP_SESSION_VARS['id']= $_GET['id']; $HTTP_SESSION_VARS['cena']= $_GET['cena']; $HTTP_SESSION_VARS['ilosc']= $_GET['ilosc']; $HTTP_SESSION_VARS['stan']= $_GET['stan']; class koszyk { var $tab; var $ceny; var $suma; function dodaj($id, $cena, $ilosc) { $this->tab[$id]+=$ilosc; } function usun($id, $cna, $ilosc) { if($this->tab[$id] > $ilosc) { $this->tab[$id] -= $ilosc; } else unset($this->tab[$id]); } function stan() { return $this->tab; } } ?> zawartosc koszyka includuje tak: <?php include("koszyk.php"); session_start(); if (!$HTTP_SESSION_VARS['koszyk']) $HTTP_SESSION_VARS['koszyk'] = new koszyk; if ($HTTP_SESSION_VARS['dodaj']) $HTTP_SESSION_VARS['koszyk']->dodaj($HTTP_SESSION_VARS['dodaj'], $HTTP_SESSION_VARS['cena'], $HTTP_SESSION_VARS['ilosc']); if ($HTTP_SESSION_VARS['usun']) $HTTP_SESSION_VARS['koszyk']->usun($HTTP_SESSION_VARS['usun'], $HTTP_SESSION_VARS['cena'], $HTTP_SESSION_VARS['ilosc']); ?> ?>[/php:1:251b6a6121] tutaj podaje zawartosc sesji: koszyk|O:6:"koszyk":3:{s:3:"tab";a:1:{i:75;i:1;}s:4:"ceny";N;s:4:"suma";N;}dodaj|s:2:"75";usun|N;id|N;cena|s:6:"599,99";ilosc|s:1:"1";stan|a:1:{i:75;i:1;} przyznam, ze niepodoba mi sie to, ze jet tam rowniez deklaracja usun - moze on dodaje i zaraz potem usuwa? please!!! pomozcie |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 16.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
ten $_GET['koszyk'] stosuje poniewaz admin zablokowal zmienne globalne i bez tej deklaracji kompletnie zadnych zmiennych nie przekazuje mi do innych plikow. jak nie zrobie tego GETA to koszyknic nie pokazuje
"W plik2.php najpierw includujesz plik1.php, a dopiero potem startujesz sesje... powinno być odwrotnie" ok zrobilem tak i wywala mi blad: Fatal error: Cannot instantiate non-existent class: koszyk in /home/users/deirdre/test3/plik2.php on line 13 cos mi sie wydaje ze jesli ma kod wykonc jakies dzialanie na koszyku to najpierw trzeba go includowac a potem dzialac - czy sie myle? a ta linia: if ($_GET['dodaj']) $koszyk->dodaj($_GET['dodaj'], 10); zwraca mi blad: Fatal error: Call to a member function on a non-object in /home/users/deirdre/test3/plik2.php on line 21 przerabiajac ten $koszyk na $HTTP_SESSION_VARS['koszyk'] dziala ale nie dopisuje nowych danych do koszyka hmmm.... holera - naprawde nie mam pojecia moglbys przedstawic kod z pliku Twojego? na ktorym Ci dziala - moze cos jest popier... z tym serwerem na ktorym to robie? pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 22:11 |