Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Przekazywanie zmiennych
Forum PHP.pl > Forum > Przedszkole
Leniobitz
Witajcie. Zastanawiam sie nad pewnym problemem: index.php wyświetla mi zawartość jakieś bazy danych w MySQL, jest lista firm identyfikowana prze ID_FIRM. Następnie po kliknięciu na wybraną firmę przenosimy się do firm.php - na tej stronie wyświetla mi się lista produktów, które są odnajdywanie na podstawie ID_FIRM. Z tego poziomu mozemy wejsc w poszczególne produkty albo dodać nowe. Za kazdym razem, ID_FIRM było ukryte i przesyłane w formularzu za pomocą POST. Jednakże po wejściu w dodawanie produktu, chce powrocić do firm.php i zobaczyc cala liste produktów - oczywiście mogę tą zmienną zapisać w sesji, obawiam się problemów, kiedy wrócę do index.php i wejdę w inną firmę - zmienna w sesji nadpisze sie?
Kshyhoo
O tablicach wielowymiarowych słyszał?
phpion
@Kshyhoo:
Jaki to ma związek?

@Leniobitz:
Musisz tą wartość przesyłać w każym formularzu, albo zapisać ją w sesji/ciachu, albo przesyłać ją w adresie jako GET.
Leniobitz
@Kshyhoo - nie jest tutaj problemem prezentacja danych i/lub ich przechowywanie, tylko przekazywanie identyfikatora firmy.

@phpion - wiem o tym, na razie wlasnie przesylalem za pomoca formularza. Zastanawiam sie nad uzyciem sesji, tylko co w przypadku, kiedy wchodze w jedna firme - do sesji dodaje się np. ID_FIRM o wartości 1, następnie wracam do index.php, wchodząc w kolejna firmę wtedy wartość ID_FIRM nadpisze sie?
Zastanwiałem się nad tym, żeby na początku index.php usuwać ta zmienna z sesji.. co o tym sądzicie? Możliwe ze moje rozwiązanie jest strasznie toporne, dlatego szukam czegoś wydajniejszego..
Kshyhoo
No właśnie. Można by tablicę:
$_SESSION['ID_FIRM']['ID_FIRM_z_bazy'] - gdzie ładujesz ID oglądanych firm, a przecież każda ma inny ID_FIRM. Żadna ID_FIRM się nie nadpisze, bo jest inna.
Leniobitz
Wybacz, ale chyba nie rozumiem twojego rozwiązania.. zalozmy ze wchodze w firme o ID_FIRM =1, a ID z bazy przyjmuje ta sama wartosc? wtedy mam $_SESSION['1']['1'] - Nie wiem jak by to mialo zmienic moja sytuacje... Możliwe, że czegoś nie załapałem w tym rozwiązaniu smile.gif
Kshyhoo
Nie :
$_SESSION['1']['1']
ale:
$_SESSION['ID_FIRM']['1']
A to różnica...
Przeglądasz oferty i po jakimś czasie w sesji masz:
$_SESSION['ID_FIRM']['1']
$_SESSION['ID_FIRM']['5']
$_SESSION['ID_FIRM']['11']
$_SESSION['ID_FIRM']['21']
Zresztą, tak samo można skorzystać z ciasteczek.
Leniobitz
OK, teraz załapałem smile.gif A co w sytuacji, kiedy wchodzę w kolejną firmę - firm.php szuka sobie $_SESSION['ID_FIRM'], zeby na podstawie jego wartosci wyswietlic zawartosci i znajduje np: $_SESSION['ID_FIRM']['5'] i $_SESSION['ID_FIRM']['11'] - wtedy wyswieli mi 2 firmy zamiast jednej..
Kshyhoo
Przekaż parametr GETem i porównaj.
Leniobitz
Stworzy mi adres, który będzie kombinacja wszystkich elementów tej wielowymiarowej tablicy..z reszta potrzebuje żeby to nie było przekazywane GET-em
phpion
Cytat(Kshyhoo @ 16.01.2014, 15:33:09 ) *
Przekaż parametr GETem i porównaj.

To po co babrać się z sesją jak i tak chcesz to GETem?

@Leniobitz:
Dlaczego nie chcesz przekazywać GETem? Według mnie to dobre rozwiązanie. Jeśli będziesz ukrywał dane w POST/sesji to uniemożliwisz podawanie adresu do produktów danej firmy.
Leniobitz
@phpion - @własnie o to mi chodzi! Projekt, który tworzę to nie jest serwis, tylko aplikacja, która będzie działała wewnetrznie, więc nie potrzebuje przyjaznych URL ani nic związanego z SEO. Wręcz uważam, że zastosowanie POST/SESSION jest swego rodzaju dodatkowym zabezpieczeniem - co z tego, ze wejde przez linka, skoro musze sie zalogowac i jeszcze przekazac parametry w sposob niejawny.
com
Jak nie masz ssl to obojętnie czym tego nie prześlesz jako ktoś się uprze to wyjmie Ci to z post/session wink.gif
Leniobitz
Wiem, tym sie zajme pozniej, na razie mam inny problem biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.