![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 11.09.2003 Skąd: Giżycko/Wawa Ostrzeżenie: (0%) ![]() ![]() |
Napisalem sobie ostatnio klase koszyka internetowego (no comments), ale jaskos nie udaje mi sie zarejestowac go w sesji. Any ideas? :?:
-------------------- WWJD?
GG 4004548 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Ja to zrobiłem tak:
[php:1:28a3987f23]<?php // jesli obiektu koszyka nie ma w sesji to tworzy nowy obiekt klasy koszyk, a jesli jest to unserializujemy go $koszyk = (isset($_SESSION['koszyk'])) ? unserialize($_SESSION['koszyk']) : new Koszyk(); // a tak wrzucam obiekt do sesji $_SESSION['koszyk'] = serialize($koszyk); ?>[/php:1:28a3987f23] |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 11.09.2003 Skąd: Giżycko/Wawa Ostrzeżenie: (0%) ![]() ![]() |
okej.
Ale jezeli mam kilka stron, i na poczatku dam session_start();, to jesli chcem wywolac funkcje klasy np.: (na samym poczatku $zamow = new koszyk()) czyli $zamow->dodaj("Ram 128", 90, 1), gdzie 1 to nazwa produktu, 2 to cena, a 3 to ilosc, w takim ukladzie wyskoczy blad o tym ze nie mozna wywolac tej funkcji? -------------------- WWJD?
GG 4004548 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Dlatego nie ma ponieważ nie ma takiego obiektu - musisz go unserializować, co też Ci podałem.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 11.09.2003 Skąd: Giżycko/Wawa Ostrzeżenie: (0%) ![]() ![]() |
poswiruje troche i jak nie bede jeszcze czegos wiedzial, to jeszcze sie zapytam
![]() -------------------- WWJD?
GG 4004548 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Masz tu mały schemacik tak postępować:
plik1.php [php:1:bbc7518c1e]<?php session_start(); // tworzymy nowy obiekt koszyka, ale sprawdzamy czy nie ma go już czasem w zmiennej sesyjnej $zamow = (isset($_SESSION['zamow'])) ? unserialize($_SESSION['zamow']) : new Koszyk(); // załóżmy że w sesji go nie było więc wykonywane jest new Koszyk(); // przeprowadzamy jakieś operacje na obiekcie, np. $zamow->dodaj("Ram 128", 90, 1); // jeśli wykonaliśmy wszystkie operacje to możemy wrzucić obiekt $zamow z powrotem do sesji: $_SESSION['zamow'] = serialize($zamow); // i przchodzimy sobie na jakąś inną stronę Header('Location: strona2.php'); ?>[/php:1:bbc7518c1e] strona2.php [php:1:bbc7518c1e]<?php session_start(); // w tej chwili nie ma żadnego obiektu więc żadna metoda nie może zostać wywołana, więc tworzymy obiekt: $zamow = (isset($_SESSION['zamow'])) ? unserialize($_SESSION['zamow']) : new Koszyk(); // tym razem obiekt jest w sesji więc wykona się unserialize($_SESSION['zamow']); // i teraz już normalnie możesz odwoływać się do obiektu, tylko pamiętaj o wrzuceniu go do sesji jeśli wykonasz w nim jakieś zmiany ?>[/php:1:bbc7518c1e] Jaśniej się nie dało ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 11.09.2003 Skąd: Giżycko/Wawa Ostrzeżenie: (0%) ![]() ![]() |
okej thx
![]() -------------------- WWJD?
GG 4004548 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 12:33 |