Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]róznica w wyświetlaniu danych w 2 przeglądarkach, w czym jest problem ??
enigma
post 11.10.2006, 09:37:54
Post #1





Grupa: Zarejestrowani
Postów: 163
Pomógł: 0
Dołączył: 10.09.2006

Ostrzeżenie: (0%)
-----


Witam
mam taki problem, mam funkcję w jednym pliku i ona zbiera statystyki z różnych plików tekstowych
funkcja ta zwraca tablicę, w parzystych komórkach jest nazwa pliku który jest sprawdzany a w nieparzystych ilość odwiedzin.
problem tkwi w tym że w Operze wyświetlane jest wszystko OK,a w Firefoxie wyświetla mi tylko statystki bez nazw plików
dane te wypisuję takim skryptem
  1. <?php
  2. require('admin_panel.php');
  3. $tab=VisitShow();
  4. $data = count($tab);
  5. echo '<table>';
  6. for($i=0; $i<=$data; $i++)
  7. echo '<tr><td>'.$tab[$i++].'</td><td>'.$tab[$i].'</td></tr>';
  8. echo '</table>';
  9. ?>

bardzo dziwne to jest
funkcja print_r($tab); w operze zwraca wszystko OK, w firefoxie parzyste komórki są puste
bardzo proszę o pomoc
Pozdrawiam

Ten post edytował enigma 11.10.2006, 09:40:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
gszesiek
post 11.10.2006, 10:01:16
Post #2





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 17.09.2006

Ostrzeżenie: (0%)
-----


print_r nie jest wysyłane do przeglądarki, to nie jest wina tej funkcji, może pokarzesz chociaż ją w akcji i link do tego też by się przydał


--------------------
Go to the top of the page
+Quote Post
revyag
post 11.10.2006, 10:02:42
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Ta pętla nie wyświetli Ci wszystkiego. Zauważ że dwa razy inkrementujesz i. W ten sposób w następnym przbiegu pęli jesteś o 1 iterację dalej niż powinieneś.
Zrób tak:
  1. <?php
  2. echo '<tr><td>'.$tab[$i+1].'</td><td>'.$tab[$i].'</td></tr>';
  3. ?>


--------------------
-------------

------
Go to the top of the page
+Quote Post
enigma
post 11.10.2006, 18:39:08
Post #4





Grupa: Zarejestrowani
Postów: 163
Pomógł: 0
Dołączył: 10.09.2006

Ostrzeżenie: (0%)
-----


Cytat(gszesiek @ 11.10.2006, 11:01:16 ) *
print_r nie jest wysyłane do przeglądarki, to nie jest wina tej funkcji, może pokarzesz chociaż ją w akcji i link do tego też by się przydał

ja print_r nie używam w swoim skrypcie, tylko sprawdziłem osobno co zwraca
i dla opery zwraca dobrze
  1. <?php
  2. Array ( [0] => Pawe&#322; Ryznar Site - curriculum vitae [1] => - 1 [2] => Paweł Ryznar Site - design & info [3] => - 4 [4] => Paweł Ryznar Site - strona główna [5] => - 7 [6] => Paweł Ryznar Site - kalendarium [7] => - 5 [8] => Paweł Ryznar Site - kontakt [9] => - 3 [10] => Paweł Ryznar Site - o mnie [11] => - 3 [12] => Paweł Ryznar Site - projekty - php [13] => - 2 [14] => Paweł Ryznar Site - projekty [15] => - 4 [16] => Paweł Ryznar Site - ja na uczelni - I rok [17] => - 7 [18] => Paweł Ryznar Site - ja na uczelni [19] => - 31 [20] => Paweł Ryznar Site - projekty - VBA [21] => - 3 )
  3. ?>


a dla firefoxa 2.02b zwraca źle
  1. <?php
  2. Array ( [0] => [1] => - 1 [2] => [3] => - 4 [4] => [5] => - 7 [6] => [7] => - 5 [8] => [9] => - 3 [10] => [11] => - 3 [12] => [13] => - 2 [14] => [15] => - 4 [16] => [17] => - 7 [18] => [19] => - 31 [20] => [21] => - 3 )
  3. ?>


działanie skryptu na swojej przeglądarce mozna sprawdzić tutaj


Cytat(revyag @ 11.10.2006, 11:02:42 ) *
Ta pętla nie wyświetli Ci wszystkiego. Zauważ że dwa razy inkrementujesz i. W ten sposób w następnym przbiegu pęli jesteś o 1 iterację dalej niż powinieneś.

w parzystych komórkach mam tekst a w nieparzystych liczby, więc pętla jest napewno dobrze

doszedłem co nie pasuje przeglądarkom, nie tylko FF ale IE też
w funkcji wypełniajacej tabelę jest takie coś
  1. <?php
  2. $table[$j++] = '<a href='.$php_file.'>'.substr($text, $start, ($stop-$start)).'</a>';
  3. ?>

chodzi o to że podaje link do strony dla której jest liczona statystyka i jako tytuł linku daje to co jest w znacznikach title, stąd taki zapis,
jeśli przekaże do tabeli samą nazwe pliku to znaczy:
  1. <?php
  2. $table[$j++] = $php_file;
  3. ?>
to w FF jest dobrze

więc co mogę zrobić żeby ten zapis pasował FF i IE
bardzo proszę o pomoc smile.gif
pozdrawiam

Ten post edytował enigma 11.10.2006, 18:43:00
Go to the top of the page
+Quote Post
erix
post 11.10.2006, 19:32:56
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Akurat to wina interpretacji przeglądarek. Firefox jest po prostu bardziej wyczulony na błędy w kodzie. Dlaczego? Spójrz na źródło strony w przeglądarce i zobacz ile razy się <title> powtarza...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
enigma
post 11.10.2006, 19:54:47
Post #6





Grupa: Zarejestrowani
Postów: 163
Pomógł: 0
Dołączył: 10.09.2006

Ostrzeżenie: (0%)
-----


Cytat(erix @ 11.10.2006, 20:32:56 ) *
Spójrz na źródło strony w przeglądarce i zobacz ile razy się <title> powtarza...

dzięki wielkie, już wiem gdzie błąd smile.gif
Pozdrawiam
Go to the top of the page
+Quote Post
SHiP
post 11.10.2006, 19:58:39
Post #7





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


U mnie link który podałeś działa elegancko FIrefox / Opera.
Moze spróbuj wyczyścić u siebie cache przeglądarki? One tak czasem mają ;]


--------------------
Warsztat: Kubuntu, PhpStorm, Opera
Go to the top of the page
+Quote Post
enigma
post 11.10.2006, 20:03:05
Post #8





Grupa: Zarejestrowani
Postów: 163
Pomógł: 0
Dołączył: 10.09.2006

Ostrzeżenie: (0%)
-----


hehe bo zaktualizowałem już stronkę smile.gif to przez to
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:30