![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
To mój pierwszy post i zarejestrowałem z tej przykrej przyczyny, ze stoję w miejscu przy robieniu koszyka, a dokładniej - przy usuwaniu dodanych w sesji zakupów.
No i tutaj działa wszystko jak trzeba. Sesje tworzą się po mojej myśli. Schody zaczeły się w głupim i pewnie banalnym miejscu. Mianowicie przy odwołaniu się do usunięcia konkretnej tabeli z sesji.
No i teraz gwiazda tego tematu: funkcja UNNSET
Efekt tego skryptu jest taki, ze po wykasowaniu wszystkich sesji i dodaniu na nowo paru kolejnych produktów, mogę usunąć tylko jeden z nich. Każdy kolejny po naciśnieciu submita ani drgnie aż do ponownego wyczyszczenia całej sesji. Próbowałem googlowach i tworzyć coś na wzór rzeczy które znalazłem, ale żadna z nich nie działa. Finalnie przedstawiłem tą o to wersje, bo jest chyba najbardziej przejrzysta. Mało ogarniam programowanie w PHP, ale staram się naucz czegoś nowego, a akurat teraz w dodatku dostałem zlecenie zrobienia prostego sklepu. Byłbym bardzo wdzięczny za pomoc. Pozdrawiam Ten post edytował gitbejbe 27.08.2012, 19:43:20 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Patrz proszę gdzie piszesz.... z obiektówką to nie ma żadnego związku..... przenosze.
-------------------- "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: 516 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
jestem tutaj pierwszy raz, będę uważać. Dzięki.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Co do problemu:
unset($_SESSION['koszyk'][1]); Przecież kasujesz tutaj zawsze produkt z numerkiem 1 więc niby czemu się dziwisz, że nie kasuje ci innych? Inne są pod innymi numerkami. -------------------- "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: 516 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
domyślam się, ze o to chodzi. Jednakże mimo to iż wskazuje na element [1], to mogę usunąć jednorazowo każdą z sesji bez znaczenia pod którą tablica jest zapisana - i to jest dziwne. Prosiłbym o jakieś konkretne porady, nie mam pojęcia jak to ugryźć i jak odwołać się dokładnie do elementu, którego wskażę poprzez submita.
pokombinowałem coś i niby powinno być ok ale nie jest...
Nigdy na niczym mi tak nie zależało jak nad rozwiązaniem tej "zagadki". Proszę was o oświecenie ! termin mi się zbliża ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
unset($_SESSION['koszyk'][$id]);} // a tutaj mimo to nie chce tego wyrzucic................
Przecież dla unset masz podać index tablicy a nie wartosc tablicy... -------------------- "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: 516 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
cały skrypt polega na tym, ze do tej samej sesji o nazwie "koszyk", dodawane są kolejne wartości (którymi są produkty w sklepie). W przypadku wybrania 6 produktów gdzie sesja przechowuje dane o nazwie produktu i jego cenie, za cholerę nie potrafię odwołać się do indexu np trzeciego produktu. To już 2 dzień walki a ja nadal stoje w miejscu. NAprawdę z mojej strony mam olbrzymią prośbę, aby móc mnie jaśniej naprowadzić o co w tym wszytskim chodzi i jak to działa. Nie bez powodu jestem w dziale "Przedszkole" bo taki jest mój poziom wiedzy o PHP. Za przykład w postaci kodu jestem w stanie oddać pół królestwa i rękę mojej siostry !
@edit: z tego ja wnioskuje, to mam w tym projekcie 2 sesje, "koszyk" oraz "idd". Tylko sesja Id ulega inkrementacji.
W takim razie jak mam odszukać index sesji "koszyk". Nawet nie wiem czy się on tworzy , a już tym bardziej -jeśli się tworzy, jak go wyszukać. Ten post edytował gitbejbe 28.08.2012, 17:27:06 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Za przykład w postaci kodu jestem w stanie oddać pół królestwa i rękę mojej siostry ! Osobiśćie strasznie nie lubię takich kłamstw....Napisałem ci co robisz źle. $id to wartość koszyka a nie indeks koszyka. DLa unset masz podać indeks a nie wartość. foreach($_SESSION['koszyk'] as $id) $id to wartość. Zajrzyj do manuala i zobaczy jak należy zmodyfikować FOREACH by otrzymać indeks -------------------- "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: 516 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
...W końcu się uporałem ! Bardzo dziękuję @nospor za naprowadzenie mnie na właściwy tok myślenia : ) Dla potomnych z podobnym problemem, zamieszczam w temacie prawidłowe rozwiązanie. Z pewnością się przyda dla każdego początkującego z koszykiem opartym na sesjach : )
ps. Z połową królestwa to był tylko żart. Chciałem podkreślić powagę sytuacji w której się znajdowałem. Ale za to apropos siostry, to nie żartowałem. Mam aż 3 sztuki więc jedną mógłbym ewentualnie odstąpić ;D Pozdrawiam serdecznie i dzięki za pomoc : )
Ten post edytował gitbejbe 29.08.2012, 11:21:01 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:05 |