Mam taki problem: W sklepie nad którym pracuje użytkownik zamawia produkt który wpierw sam w pewnym sensie tworzy za pomocą Flasha (np. przedmiot z wygrawerowanym napisem).
Użytkownik będąc na stronie produktu (np. drewniana deska) może włożyć go do koszyka lub użyć konfiguratora aby za pomocą narzędzia fleszowego zaprojektować jakiś napis.
Gdy użytkownik projektuje napis i zapisuje swój projekt to tworzy się nowy katalog a w nim XML zawierający wszystkie szczegóły techniczne na temat obróbki produktu i pliki IMG.
Działa to w ten sposób, że flash odwołuje się do pliku PHP który w zależności od żądania teorzy katalog/plik xml/plik img a na koniec ma dodawać do sesji:
$_SESSION['konfigurowane']['id_produktu'][] = $nazwa_folderu_z_plikami; // przykład
jednak to nie będzie działać bo jak się kazało plik odpalony przez flasha korzysta z innej sesji - tworzy sobie nową...
Jak to wykastrować?
Potrzebuje dodać to do sesji aby przy składaniu zamówienia to zamówienie było powiązane z zaprojektowanymi produktami ponieważ nie tylko zalogowani użytkownicy mogą to robić.
public zamowienieAction() { if($zamowione = Library_Zamowienie::getInstance()) { $zamowienie = new Zamowienie; $zamowienie->fromArray($zamowione->toArray()); $zamowienie->save(); if ($_SESSION['konfigurowane']) { $id = $zamowienie->getLastId(); foreach ($_SESSION['konfigurowane'] as $id_produkt => $aFoldery) { foreach ($aFoldery as $folder) { # dodawanie do bazy produktów skonfigurowanych powiązanych z zamówieniem # problem w tym, że nie ma takiej sesji } } } } }