![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 2 Dołączył: 6.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hej,
Przeszukałem forum i niestety nie znalazłem odpowiedzi na dręczące mnie pytanie, które brzmi identycznie jak w temacie. Pozwolę sobie jednak sprawę rozwinąć i przedstawić po raz wtóry: Wynikiem pewnego zapytania zrealizowanego na bazie MySQL jest $tablica (naturalnie Array). Jest u mnie koniecznie konieczne, aby w jakiś sposób przekazać ową zmienną do drugiego okna przeglądarki, czyli: na stronie A mam hiperłącze o nazwie KLIKU-KLIKU -> klikam -> otwiera się strona B jako pop-up i co więcej kod już ma zainicjiwaną zmienną typu Array o nazwie $tablica Na pierwszy rzut oka GET raczej odpada, COOKIE z serialize ma problemy z długimi zserializowanymi tablicami (a moje mogą być bardzo bardzo długie). Czy istnieje jakiś pewny sposób na rozwiązanie tego problemu? Jest może zaimplementowany standardowy mechanizm przekazywania między dokumentami PHP zmiennych typu Array? Proszę o odpowiedź. Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
albo sesje albo w pop-upie zrobic to samo zapytanie
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 399 Pomógł: 7 Dołączył: 11.06.2007 Skąd: Poznan Ostrzeżenie: (20%) ![]() ![]() |
jak te tablice maja być bardzo długi to po prostu w tym drugim pliku też zrób zapytanie do MYSQL tylko może przekazuj zwykła zmienną id rekordu czy co tam chcesz
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 2 Dołączył: 6.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie Panowie!
Wróciłem właśnie z papieroska z tarasu i wpadłem na to samo - przecież mogę GET'em przekazać zapytanie, a wykonać je w oknie POP-UP!!! (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) A idę spać, bo dzisiaj juz nie myślę... A co do SESSION, nie pomyślałem o tym, ale pomyśle jutro. Zastanowię się, co mi bardziej się przyda i zobaczymy. Dobrej nocy wszystkim i dzięki za pomoc! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 24.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Te funkcje napisalem juz pare lat temu (rekurencyjnie wola sama siebie w taki sposob, ze poradzi sobie z dowolnie zagniezdzona tablica), od tego czasu pewnie zmienil sie php i takie rzeczy mozna pewnie osiagac prosciej, ale moze komus sie przyda.
Nie bardzo juz pamietam jak ja wywolywalem, ale zdaje sie, ze pod jakims przyciskiem, ktory najpierw ja wolal a potem przenosil na docelowa strone. Albo cos (IMG:style_emoticons/default/smile.gif) A funkcja wyglada tak (pierwsza zmienna, to oczywiscie array do przekazania a druga to nazwa, pod jaka cala jego struktura oddtwarza sie na docelowej stronie): f
Dajcie znac czy sie przydaje.
Powód edycji: [Ociu]: Dodałem bbCode
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 1 Dołączył: 6.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
jak zapytanie będzie w zmiennej przechodzącej przez ręce usera to wydaje mi się że nie będzie to bezpieczne,
ja bym zrobił tak, (nie wiem skąd pochodzi owa tablica, ale załóżmy że po prostu ją zkeszujemy) 1. pobieram tablicę do przekazania i serializuję ją 2. robię $hash=md5(rand(0,1000)); i zapisuję do tabelki (lub do pliku) jako id uzywająć $hash 3. wywołuję stronę docelową i przekazuję jej $hash (w $_GET lub $_SESSION) 4. strona docelowa odczytuje z tabelki (lub z pliku) rekord gdzie id=$hash 5. i to tyle, w zasadzie można by po prostu użyć sesji, ale one 1.wygasaj kiedyś, a 2. mają ograniczoną wielkość |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Najlepiej moim zdaniem używać sesji, do tego zostały stworzone.
@up Cytat 1.wygasaj kiedyś, a 2. mają ograniczoną wielkość Masło maślane. Ten post edytował fifi209 25.10.2009, 12:44:42 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 1 Dołączył: 6.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
w sumie racja, ale co jeżeli tablica po serialize bedzie miala 10M? do sesji?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
w sumie racja, ale co jeżeli tablica po serialize bedzie miala 10M? do sesji? Żeby otrzymać 10MB to na prawdę trzeba się postarać i wyciągnąć chyba całą bazę. Jeżeli w wyniku masz 10MB danych oznacza to, że jest coś nie tak - pomyśl jak długo użyszkodnik odbierałby to. To co wysyłasz do użyszkodnika musi być jak najmniejsze. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 11:28 |