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%)
|
Ustawienie raportowania na E_ALL wyrzuciło parę błędów.
Jednak więcej w FF niż w IE. W obu przypadkach szereg "Undefined index" i "Undefined variable". Nie wydają się mieć związku z tematem i raczej nikomu poza mną nic nie powiedzą ale wklejam dla większej przejrzystości: Kod Notice: Undefined index: 1 in F:\xampp\htdocs\edu\common\abstract\class.display.php on line 207 Notice: Undefined variable: scriptString in F:\xampp\htdocs\edu\common\abstract\class.display.php on line 215 Notice: Undefined variable: stylesheetString in F:\xampp\htdocs\edu\common\abstract\class.display.php on line 236 Notice: Undefined variable: conditionalStylesheetString in F:\xampp\htdocs\edu\common\abstract\class.display.php on line 257 Notice: Undefined index: enabled in F:\xampp\htdocs\edu\common\abstract\class.display.php on line 282 Notice: Undefined variable: keyboard in F:\xampp\htdocs\edu\common\abstract\class.display.php on line 347 Notice: Undefined variable: popup in F:\xampp\htdocs\edu\common\abstract\class.display.php on line 348 Notice: Undefined variable: systemMessage in F:\xampp\htdocs\edu\common\abstract\class.display.php on line 352 Notice: Undefined variable: code in F:\xampp\htdocs\edu\common\classes\class.breadcrumb.php on line 72 Natomiast zastanawia mnie jedno. Dlaczego te błędy pojawiają się tylko właśnie przy usuwaniu pytań. Wysłałem parę innych formularzy. Część z nich polegająca na usuwaniu innych obiektów z bazy i tych błędów nie było. Edit: już wiem czemu tylko przy usuwaniu pytań się pojawia, bo w złym miejscu dałem (IMG:style_emoticons/default/smile.gif) Poprawiłem i teraz błędy są już wszędzie. ----------------------------------------------------------------------------- Podsumujmy zatem naszą arcyciekawą (dzięki IE) sytuację: Aplikacja wchodzi w tejże "przeglądarce" (7/8) prawidłowo do funkcji deleteQuestion i do bloku warunkowego if. Gdy już wejdzie do bloku if to w poniższym kodzie die() przerwie działanie.
Natomiast tu już nie przerwie:
To die() w tym drugim przypadku wykonuje się ale jakby tylko na poziomie funkcji deleteQuestion(). Nic po tej instrukcji już się nie wykona, czyli:
nie zostanie wykonane. Natomiast poza funkcją deleteQuestion kod okazuje się dalej wykonywać jakby tego die() nie było w ogóle. Funkcja deleteQuestion na 100% wykonuje się raz! Raportowanie błędów na poziomie E_ALL nie wykazało istotnych błędów. edit----------------------------------------------------- Problem zostawiam nierozwiązany bo odkryłem, że problem występuje tylko lokalnie - u mojego providera nie. Obsługę IE7 wyłączam 1 stycznia 2012 a IE8 1 stycznia 2013 - a do tego czasu pozostanę najprawdopodobniej u tego providera. Ale włos się się jeży na myśl co to microsoftowskie g**no potrafi. Ten post edytował qrzysztof 9.09.2011, 11:37:14 |
|
|
|
qrzysztof IE7/8 i funkcja unset w PHP 9.09.2011, 09:05:41
nospor IE nie ma nic do php.
[PHP] pobierz, plaintext pub... 9.09.2011, 09:10:43
darko Ee raczej się mylisz z tym wtrącaniem się w kod ph... 9.09.2011, 09:10:57
nospor I jeszcze
Temat: Jak poprawnie zada pytanie
Wyświe... 9.09.2011, 09:11:23
qrzysztof Cytat(nospor @ 9.09.2011, 10:10:43 ) ... 9.09.2011, 09:31:20
nospor No i już wiesz czemu nie działa unset - bo nie mas... 9.09.2011, 09:34:06
qrzysztof Nospor, sprawa nie jest taka prosta jak się na pie... 9.09.2011, 09:38:23
nospor SKoro nie istnieje na liscie twoje ID, to kod nie ... 9.09.2011, 09:40:21
qrzysztof Wyświetla się
Kodstring(4) "2425... 9.09.2011, 09:44:48
nospor Dla IE?
To się zdecyduj, co ci wyświetla, bo teraz... 9.09.2011, 09:45:48
qrzysztof Chciałbym się zdecydować, ale to niestety nie ode ... 9.09.2011, 09:47:09
nospor A jak skasujesz DIE to znowu wyświetlają się tylko... 9.09.2011, 09:48:19
qrzysztof Ok, już sprawdzam...
Na razie nie znalazłem na to... 9.09.2011, 09:49:08
nospor zapytam ponownie:
czy bez DIE dla IE wyświetlają s... 9.09.2011, 09:59:36
qrzysztof Bez die: 2 elementy w tablicy
z die: 3 elementy
O... 9.09.2011, 10:04:29
drPayton [PHP] pobierz, plaintext var_dump(array_keys... 9.09.2011, 10:07:34
nospor CytatBez die: 2 elementy w tablicy
z die: 3 elemen... 9.09.2011, 10:11:09
qrzysztof @drPayton dał jednak dobry trop:
O dziwo jeśli zr... 9.09.2011, 10:17:24
drPayton Control question:
$this->dbm != ... 9.09.2011, 10:20:07
qrzysztof @drPayton - o zapętlaniu nie ma mowy, choć jeszcze... 9.09.2011, 10:22:23
nospor CytatPonieważ to die(), które @nospor zaproponował... 9.09.2011, 10:24:17
melkorm Za przeproszeniem: Pieprzysz farmazony że to aż st... 9.09.2011, 12:28:52
qrzysztof 1. Nie za bardzo mi się w tej chwili chce, choć ki... 9.09.2011, 12:41:17
melkorm CytatTo die() w tym drugim przypadku wykonuje się ... 9.09.2011, 13:07:06
qrzysztof No nie do końca.
Tak jak pisałem. Die() się wykon... 9.09.2011, 13:23:49 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 11:32 |