![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 19 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wszyscy wiemy, że IE7/8 to badziewie jakich mało. Dotychczas myślałem, że te przeglądarkopodobne produkty wtrącają się tylko do HTML i CSS. Nic bardziej błędnego. Okazuje się, że potrafią namieszać również w kodzie PHP.
Mam poniższy kod:
We wszystkich przeglądarkach działa poprawnie. Natomiast w IE7/8 po wejściu do tej funkcji a następnie do bloku warunkowego, zaznaczona przeze mnie linia powoduje wyjście z funkcji bez zgłoszenia błędu czy wyjątku. Jest to tym bardziej dziwne, że Kod $this->_questions[$id] istnieje, a jeszcze bardziej ponieważ kolejna linia usuwająca pytanie z bazy jeszcze się wykonuje! Ale return true już najwyraźniej nie bo funkcja nie zwraca true!Gdy zmienię kod na:
sytuacja nie ulega zmianie. Zaznaczę, że do testów używam emulatorów IE7 na XP (ale różnych i we wszystkich jest tak samo), natomiast IE8 w pełnej wersji również na ten system. Ten post edytował qrzysztof 9.09.2011, 09:13:21 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 19 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
I nagle wszystko staje się jasne. Czemu nie robicie głupiego var_dump()? To takie trudne?? Nie no, aż tak naiwny nie jestem. Wszystko sprawdziłem zanim napisałem.To, że stanie się jasne na końcu nie ulega wątpliwości ale na razie nie jestem bliżej. Zastosowałem var_dump w zalecanym miejscu w trochę zmodyfikowanej formie, aby nie zaciemniać obrazu: Dane wejściowe identyczne: -trzy pytania w obiekcie i w bazie (2423, 2424, 2425) -usuwane: 2425 Rezultat w IE Kod string(4) "2425" array(2) { [0]=> int(2423) [1]=> int(2424) } Rezultat w FF Kod string(4) "2425" array(3) { [0]=> int(2423) [1]=> int(2424) [2]=> int(2425) } |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 11:04 |