![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 25.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
wlasnie probuje napisac prosta klase, ktora mi pomoze obsluzyc dodawanie produktow do koszyka, ogolnie chodzi o to zeby troche uproscic prace na ze zmiennymi sesyjnymi
jesli jako zmienna sesyjna wpisze stala np $_SESSION['koszyk_produktow'] to klasa dziala ok ale jesli zmeinna sesyjna tworze jako 4_SESSION[$this->czego] <? class koszyk{ var $kosz = array(); var $czego = ''; function koszyk($czego){ echo "OK"; $this->kosz = array(); $this->czego = $czego; echo '-----przed czymkolwiek-'; echo '<pre>--SESJA---'; print_r($_SESSION); echo '</pre>'; echo '<pre>KLASA'; print_r($this->kosz); echo '</pre>'; $kosz = explode(",", $_SESSION[$this->czego]); if( $_SESSION[$this->czego] == ''){ $oo = 0; }else{ $oo = count($kosz); } for ($i=0; $i< $oo ; $i++){ list($id_produktu, $ilosc) = explode("-", $kosz[$i]); echo '-----TT---------<br>'; echo 'id - '.$id_produktu.' - '.$ilosc; echo '<br>==============<br>'; $this->kosz[$id_produktu] = $ilosc; } echo '-----po inicjailizacji-'; echo '<pre>--SESJA---'; print_r($_SESSION); echo '</pre>'; echo '<pre>KLASA'; print_r($this->kosz); echo '</pre>'; } function dodaj($id_produktu, $ilosc = 1){ echo '----DIDAWANIE-------------'; echo '<pre>SESJA'; print_r($_SESSION); echo '</pre>'; echo '<pre>KLASA'; print_r($this->kosz); echo '</pre>'; if(in_array($id_produktu, array_keys($this->kosz))){ $this->kosz[$id_produktu] += $ilosc; }else{ $this->kosz[$id_produktu] = $ilosc; } $this->updSesja(); } function przekaz(){ return $this->kosz; } function updSesja(){ //session_destroy(); unset($_SESSION[$this->czego]); while (list ( $id_produktu, $ilosc ) = each ($this->kosz) ){ echo '---------------<br>'; echo 'id - '.$id_produktu.' - '.$ilosc; echo '<br>==============<br>'; if($_SESSION[$this->czego] == '') $_SESSION[$this->czego] = $id_produktu.'-'.$ilosc; else $_SESSION[$this->czego] .= ','.$id_produktu.'-'.$ilosc; } //session_destroy(); //unset($_SESSION[$this->czego]); echo '-----------------'; echo '<pre>SESJA'; print_r($_SESSION); echo '</pre>'; echo '<pre>KLASA'; print_r($this->kosz); echo '</pre>'; } } $produkty = new koszyk('potrawy'); //$produkty = new koszyk('dodatki'); ?> wyniki z tych printow wszystki OK-----przed czymkolwiek---SESJA---Array ( [potrawy] => Array ( [Array] => [41] => 1 ) ) KLASAArray ( ) -----TT--------- id - Array - ============== -----po inicjailizacji---SESJA---Array ( [potrawy] => Array ( [Array] => [41] => 1 ) ) KLASAArray ( [Array] => ) ----DIDAWANIE-------------SESJAArray ( [potrawy] => Array ( [Array] => [41] => 1 ) ) KLASAArray ( [Array] => ) --------------- id - Array - ============== --------------- id - 40 - 8 ============== -----------------SESJAArray ( [potrawy] => Array-,40-8 ) KLASAArray ( [Array] => [40] => 8 ) nie wiadomo dlaczego ciagle wchodzi mi do zmeinnej sesyjnej tablica, przeciez ja nigdzie nie wkladam tam talbicy, tylko zwykly string |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Jeśli chcesz zyskać pomoc, to lepiej dodaj bbcode do kodu - teraz tego nie chce się nawet czytać...
btw. Pisz wg specyfikacji dla PHP5 Nazywaj zmenne a jakiś sensowny sposób Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 18:21 |