Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Zwiększanie licznika
matyskiewicz
post 11.05.2009, 13:18:21
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


W jaki sposób zwiększać licznik z poniższego przykładu?

  1. <?php
  2. function addToCart($zamId, $zamIlosc)
  3. {
  4.    $item = isset($_SESSION['cart']['item']) ? $_SESSION['cart']['item'] : 0;
  5.    $item++;
  6.  
  7.    $_SESSION['cart'] = array($item => array('id' => $zamId, 'ilosc' => $zamIlosc));
  8. echo $item;
  9.    header("location: index.php?module=shoppingCart");
  10. }
  11. ?>


Po wprowadzeniu dowolnej ilości danych print_r($_SESSION) wyświetla:
  1. Array
  2. (
  3. [cart] => Array
  4. (
  5. [1] => Array
  6. (
  7. [id] => 6
  8. [ilosc] => 2
  9. )
  10.  
  11. )
  12.  
  13. )

Czyli jak widać $_SESSION['cart']['item'] zawsze równa się 1... :/


--------------------
eclipse :)
Go to the top of the page
+Quote Post
nospor
post 11.05.2009, 13:25:23
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




raz uzywasz indeksu o nazwie 'item' a raz zmiennej o nazwie $item. Do sesji zapisujesz tylko zmienną $item, ktora jest liczba , wiec nie dziw sie ze sprawdzanie indeksu o nazwie 'item' daje ci zawsze 0, gdy taki index w sesji nie istnieje smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
matyskiewicz
post 11.05.2009, 13:50:36
Post #3





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Jeśli dobrze zrozumiałem:
  1. <?php
  2. $item = isset($_SESSION['cart'][$item]) ? $_SESSION['cart'][$item] : 0;
  3. ?>

Lecz w tym momencie nadal gdzieś popełniam bład.

Jeszcze żeby była pewność
$_SESSION jest zmienną globalną i mogę ją spokojnie wykonywać wewnątrz funkcji.


--------------------
eclipse :)
Go to the top of the page
+Quote Post
nospor
post 12.05.2009, 06:13:06
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Jeszcze żeby była pewność
$_SESSION jest zmienną globalną i mogę ją spokojnie wykonywać wewnątrz funkcji.
Nie no, dzieki za wyjasnienie.... tongue.gif

korzystasz teraz z $item, zanim ona jeszcze jest utworzona. No usiadz przez chwile i zastanow sie troche a nie piszesz na chybil trafil smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
matyskiewicz
post 12.05.2009, 10:57:57
Post #5





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Czyli znów krok w tył...

Dobra jak to nasza polonistka w ogólniaku mówiła: "Każdy dochodzi w swoim czasie".
Nieco przekombinowałem...
Mnie to zajęło 2 dni (no dobra 1,5) ale z sukcesem.
  1. <?php
  2. $item = isset($_SESSION['cart']) ? $_SESSION['cart'] : 0;
  3.    $_SESSION['cart'][] = array('id' => $zamId, 'ilosc' => $zamIlosc);
  4. ?>

Dzięki nospor, za ironiczną, sarkastyczną ale pomoc tongue.gif


--------------------
eclipse :)
Go to the top of the page
+Quote Post
nospor
post 12.05.2009, 11:01:21
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Dzięki nospor, za ironiczną, sarkastyczną ale pomoc
W moich wypowiedziach nie bylo ani ironi ani sarkazmu. jesli tak to odebrales to albo ty sie podszkol albo ja (z polaka zawsze bylem kiepski i moge nie rozumiec niektorych pojec winksmiley.jpg )

w swoich wypowiedziach chcialem ci jedynie zwrocic uwage na bledy ktore robisz. nie chcialem ci podac rozwiązania, bo uwazalem, ze do tak banalnego rozwiązania moglbys dosc sam - tylko i wylacznie z pozytkiem dla ciebie.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
matyskiewicz
post 12.05.2009, 11:10:19
Post #7





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Moja wypowiedź była z przymrużeniem oka, nie obrażam się czy nie oburzam.
Cytat(nospor @ 12.05.2009, 12:01:21 ) *
w swoich wypowiedziach chcialem ci jedynie zwrocic uwage na bledy ktore robisz. nie chcialem ci podac rozwiązania, bo uwazalem, ze do tak banalnego rozwiązania moglbys dosc sam - tylko i wylacznie z pozytkiem dla ciebie.

Jestem tego samego zdania iż do wszystkiego trzeba dojść o własnych siłach (gdybym chciał gotowca to użyłbym oscommerce), dziękuję Ci za wskazówki! Dobrze że przypominasz userom forum o funkcji w jaką jesteśmy wyposażeni (myślenie).


--------------------
eclipse :)
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: 15.08.2025 - 03:29