Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> IE7/8 i funkcja unset w PHP
qrzysztof
post
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:

  1. public function deleteQuestion ($id)
  2. {
  3.  
  4. if ( in_array($id, array_keys($this->_questions)) )
  5. {
  6. unset($this->_questions[$id]); #problematyczna linia
  7.  
  8. #usuniecie pytania z bazy
  9. $this->dbm->deleteQuestion($id);
  10.  
  11. return true;
  12. }
  13. return false;
  14. }


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:
  1. if ( $this->questions[$id] )
  2. {
  3. unset($this->_questions[$id]); #problematyczna linia
  4. }


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
Go to the top of the page
+Quote Post

Posty w temacie
- 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
- - qrzysztof   Ustawienie raportowania na E_ALL wyrzuciło parę bł...   9.09.2011, 12:14:39
- - 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


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 05:12