Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Invalid argument supplied for foreach(), błąd pojawia się tylko czasami
Arek00
post
Post #1





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 8.11.2005

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


mam koszyk w którym dodawanie produktów wygląda następująco:

  1. <?php
  2. $dodaj = $_POST['dodaj'][0];
  3.  
  4. if($dodaj){
  5.  if (!isset($_SESSION['koszyk'])){
  6. $_SESSION['koszyk'] = array();
  7.  }
  8.  
  9.  if(isset($_SESSION['koszyk'][$dodaj])){
  10. if ($_SESSION['koszyk'][$dodaj] != 99){
  11.  $_SESSION['koszyk'][$dodaj]++;
  12. }
  13.  }else{
  14. $_SESSION['koszyk'][$dodaj] = 1;
  15.  }
  16. }
  17. ?>


wszystko niby działa bez zarzutu ale co jakiś czas pojawia się taki błąd:
Kod
Invalid argument supplied for foreach() on line 266

linia 266 wygląda tak:
  1. <?php
  2. foreach ($_SESSION['koszyk'] as $id_produktu => $ilosc){
  3. ?>

mi się ten błąd nie pojawił nigdy ale widzę w logach że klienci coś takiego dostają. O co tu może chodzić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Arek00
post
Post #2





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 8.11.2005

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


czy to chodzi o coś takiego:
  1. <?php
  2. if($_SESSION['koszyk'] && array_count_values($_SESSION['koszyk'])){
  3.  foreach ($_SESSION['koszyk'] as $id_produktu => $ilosc){
  4. // tutaj zapisuję produky do bazy
  5.  }
  6. }
  7. ?>

tylko problem w tym że to jest foreach którym pobieram produkty z koszyka i zapisuję w bazie (jako zamówienie), nie da się go wywołać jeżeli w koszyku nic nie ma (jeżeli koszyk jest pusty to nie ma linku który umożliwiłby złożenie zamówienia). wcześniej gdy wyświetlam zawartość koszyka mam zrobione tak jak tu napisałem.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 13.10.2025 - 18:57