![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 32 Dołączył: 14.04.2008 Skąd: Lenkowski.net Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Postanowiłem napisać dla siebie swój własny framework i obecnie natknąłem się na naprawdę bardzo duży problem. Otóż podczas wykonywania skryptu zapisy sesji (inkrementacja) czy też zapytania sql dublują się. Nie mam pojęcia dlaczego tak się dzieje. Pomimo wypisywania w miejscu zapisu zmiennej znaku ! (teoretycznie powinienem zobaczyć 2) pokazuje się tylko jeden. Tak jakby zapis zmiennej sesji, albo wykonanie sql i tylko to wykonywało się po raz 2. Nie mam pojęcia, jak rozwiązać ten problem. Czy ktoś wie coś na ten temat (wiem że to nie wróżka, ale framework jest za duży by wklejać tutaj jego kod). Może to jakiś mankament PHP? Jestem w 100% pewien że metoda w której edytowana jest sesja nie powtarza się. Jednocześnie kiedy nie zwiększam wartosci zmiennej o 1 nie otrzymuję nic, gdy zwiększam o 2 dostaję 4, więc coś jakby musi leżeć w tym problemie. Czy ktoś miał podobny problem? -------------------- Wpadaj na mój kanał o PHP. Dużo mięsa 🥩!
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Pomógłbyś sporo, gdybyś napisał chociaż, JAK te sesje w Twoim frameworku działają, zamiast rozwodzić się nad wróżkami. Dodaj sobie do metody/funkcji zapisującej sesję robienie zrzutu wyjścia debug_backtrace() do jakiegoś pliku, uruchom jedną podstronę i powinieneś tam mieć zrzucone dokładne informacje, gdzie zapisywanie sesji było wywoływane.
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 32 Dołączył: 14.04.2008 Skąd: Lenkowski.net Ostrzeżenie: (0%) ![]() ![]() |
Ok. Działają normalnie, to znaczy:
Co ciekawe, kiedy zrobię to na samym początku (w pierwszym pliku index.php) efekt mam ten sam. I dalej. TO dzieje się tylko w Firefox (mam mac'a). Ktoś wie o co chodzi? Firefox najpierw pobiera kod źródłowy, a potem stronę ![]() Innymi słowy, firefox wywołuje skrypt 2 razy, czy jest jakiś sposób by to powstrzymać? Ten post edytował MWL 10.04.2010, 08:59:14 -------------------- Wpadaj na mój kanał o PHP. Dużo mięsa 🥩!
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Próbowałeś sposób z debug_backtrace()? Używasz standardowego mechanizmu obsługi sesji czy napisałeś własny, np. do trzymania danych w bazie? Skoro piszesz, że dzieje się tak jedynie w Firefoksie, być może w którymś miejscu masz jakieś przekierowanie, które przeładowuje tę samą stronę i niektóre przeglądarki to ignorują, a inne nie?
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 32 Dołączył: 14.04.2008 Skąd: Lenkowski.net Ostrzeżenie: (0%) ![]() ![]() |
Nie, nie ma żadnego systemu. Poza tym w nowym pliku (zupełnie innym) czystym o zawartości
Efekt jest ten sam. Wszędzie działa, w firefox nie działa. Po wysłaniu na serwer publiczny (http://ciachanie.pl/duble/). Jak zgaduję na windowsie taki błąd nie występuje... widzę: array(0) { } ----- Problem udało mi się rozwiązać. Okazało się że leży po stronie ySlow (dodatku, do optymalizacji, który po załadowaniu strony ładuje ją jeszcze jeden raz). Ten post edytował MWL 10.04.2010, 22:04:40 -------------------- Wpadaj na mój kanał o PHP. Dużo mięsa 🥩!
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 05:11 |