![]() |
![]() ![]() |
![]() |
![]()
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:
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:
mi się ten błąd nie pojawił nigdy ale widzę w logach że klienci coś takiego dostają. O co tu może chodzić? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Zanim wywolasz swojego foreach'a, to musisz najpierw sprawdzic, czy $_SESSION['koszyk'] istnieje i czy jest tablicą.
Bo przeciez te wartosc ustawiasz dopiero gdy ktos dodaje do koszyka, a jesli jeszcze nic nie dodal to tej wartosci nie ma i dostajesz bledy -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 177 Pomógł: 0 Dołączył: 8.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
czy to chodzi o coś takiego:
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. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat nie da się go wywołać jeżeli w koszyku nic nie ma Najwyraźniej jednak sie da, skoro masz takie logi ![]() A z tym warunkiem to przekombinowales. zrob tak:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 177 Pomógł: 0 Dołączył: 8.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
czyli kod zapisujący zamówienie powinien wyglądać tak:
link kierujący do złożenia zamówienia wyświetlany jest pod zawartością koszyka (tylko jeśli coś się w nim znajduje), nie ma innej drogi na złożenie zamówienia ta sytuacja wygląda tak że gdy klient kliknie "złóż zamówienie" i przejdzie do strony gdzie podaje swoje dane to zanim potwierdzi zamówienie to gubiona jest zawartość koszyka... |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat link kierujący do złożenia zamówienia wyświetlany jest pod zawartością koszyka (tylko jeśli coś się w nim znajduje), nie ma innej drogi na złożenie zamówienia A jesli ktos zapamietal ten link i potem wklepal go bezposrednio do przeglądarki?Teraz ten kod wyglada sensownie ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 177 Pomógł: 0 Dołączył: 8.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
znów mi się pojawił ten błąd, tym razem w tym foreach:
jest to kod który uaktualnia liczbę produktów w koszyku, czyli np. miałem 1, wpisuję że chcę 3 i wciskam przycisk "aktualizuj koszyk" który wywołuje ten kod i powraca do tego samego adresu czyli mojastrona.pl/koszyk tym razem jeśli ktoś zapamiętałby adres i wszedł bezpośrednio na mojastrona.pl/koszyk to jest sprawdzenie czy istnieje $_SESSION['koszyk'] i czy jest tablicą więc co najwyżej dostałby tekst że koszyk jest pusty w jaki sposób w powyższym kodzie wywołać taki błąd? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To jest dokladnie ten sam blad? Napewno wskazuje na ten kod? No i czy teraz caly kod tej petli?
Bo przy tym kodzie co podales, to trudno o ten blad, a przynajmniej mi sie nie udalo a probowalem ![]() No i zakladam ze naprawde jesli nie ma sesji koszyk to ten kod sie nie wykona. Bo tu tego warunku nie widze -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 177 Pomógł: 0 Dołączył: 8.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
dodawanie, aktualizacja i wyświetlanie produktów wykonywane jest za pomocą tego kodu (wyrzuciłem tutaj część odpowiedzialną za wyświetlanie zawartości)
ja nie widzę innej drogi żeby dostać się do tego foreach niż poprzez kliknięcie przycisku "aktualizuj koszyk", a jeśli tak to znaczy że jestem w koszyku w którym się coś znajduje czyli sejsa istnieje (ale oczywiście mogę się mylić) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 15:16 |