Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] problem z prostą klasa
tantaos
post 25.11.2007, 12:38:18
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
Go to the top of the page
+Quote Post
Cysiaczek
post 25.11.2007, 13:10:39
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:21