Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] koszyk na zakupy oparty na sesji
Forum PHP.pl > Forum > Przedszkole
Arek00
to moje pierwsze starcie z sesjami i już mam problem... próbuję zrobić koszyk na zakupy ale produkty nie są do niego dodawane. nie wyświetlają się żadne błędy więc dodałem sobie teksty żebym wiedział co wykonuje skrypt. niezależnie z jakim parametrem $dodaj wchodzę na stronę koszyka to zawsze wyświetla się "dodanie nowego produktu"
  1. <?php
  2. $dodaj = $_POST['dodaj'];
  3.  
  4. if($dodaj){
  5.  if (!isset($_SESSION['koszyk'])){
  6. $_SESSION['koszyk'] = array();
  7. $output .= "tworzenie sesji";
  8.  }
  9.  
  10.  if(isset($_SESSION['koszyk'][$dodaj])){
  11. $_SESSION['koszyk'][$dodaj]++;
  12. $output .= "zwiekszanie ilosci produktu";
  13.  }else{
  14. $_SESSION['koszyk'][$dodaj] = 1;
  15. $output .= "dodanie nowego produktu";
  16.  }
  17. }
  18. ?>

zaraz potem jest wyświetlanie zawartości koszyka i cały czas wyświetla że jest pusty:
  1. <?php
  2. if($_SESSION['koszyk'] && array_count_values($_SESSION['koszyk'])){
  3.  foreach ($koszyk as $id_produktu => $ilosc){
  4. $produkty = db_query("SELECT * FROM cennik WHERE id_produktu='$id_produktu'");
  5. while ($produkty2 = db_fetch_array($produkty)){
  6.  $output .= $produkty2['producent'] . " " . $produkty2['model'] . " " . $cenampc . "<br>";
  7. }
  8.  }
  9. }else{
  10.  $output .= "<br><br><center>Koszyk jest pusty.</center>";
  11. }
  12. ?>
erix
  1. <?php
  2. if(isset($_SESSION['koszyk'][$dodaj])){
  3. //$dodaj jest boolem, a klucz w tym miejscu moze miec tylko 0 lub 1
  4. //zmien to na zmienna, ktora bedzie identyfikowala konkretny produkt
  5. ?>
nospor
Cytat
//$dodaj jest boolem, a klucz w tym miejscu moze miec tylko 0 lub 1
//zmien to na zmienna, ktora bedzie identyfikowala konkretny produkt

@erix a gdzie ci wyszlo ze to jest boolean? Jak dla mnie jest to wlasnie kod produktu.
A nawet jakby to bylo tylko 0 lub jeden, to tym bardziej za ktoryms razem powinien trafic smile.gif

@Arek00 moze pokaz jeszcze skrocona wersje formularza
Arek00
kurde pisałem wcześniej że problem jest rozwiązany ale wychodzi na to że nie zatwierdziłem edycji posta...

zapomniałem że $_POST['dodaj'] jest tablicą, nie wiem czy da się to skrócić ale teraz początek jest taki:
  1. <?php
  2. $dodaj = $_POST['dodaj'];
  3. $dodaj = dodaj[0];
  4. ?>
nospor
Da sie skrocic
  1. <?php
  2. $dodaj = $_POST['dodaj'][0];
  3. ?>

smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.