![]() |
![]() |
![]()
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%) ![]() ![]() |
@drPayton dał jednak dobry trop:
O dziwo jeśli zrobię var_dump($this->_questions) to wszystko działa poprawnie. Sam fakt dodania tej linii do kodu! Wtedy zawsze pokazuje, że są 3 elementy w tablicy. Ale jak usunę tę linię to znowu to samo. To musi mieć jakiś związek z wyjściem. Tak samo z tym die. Jeśli jest coś więcej na wyjściu kodu to wszystko działa. Kod nie wykonuje się dwa razy. Mam w kodzie tylko jedno użycie deleteQuestion i jeśli test, który zrobiłem parę postów wyżej nic nie wykazał to nie ma takiej możliwości. Ten post edytował qrzysztof 9.09.2011, 10:19:21 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 12:43 |