Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sprawdzenie przeglądarki w PHP i wysokość elementu
Forum PHP.pl > Forum > Przedszkole
artgrus
Witam.

Jak większość z was wie, można za pomocą PHP spawdzić jaką użytkownik używa przeglądarkę w naszej stronie.
Jest to pewne zabezpieczenie przed nIEchcianymi przeglądarkami. Jeżeli jest to strona w PHP, to serwer najpierw sprawdza skrypty PHP, a dopiero potem reszte.

  1. Kod 1.
  2. if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'msie') !== false) {
  3. echo 'jest ie';
  4. }


Powyższy kod sprawdza się.


Mam jeszcze jeden kod, nieco krótszy (o jedną funkcję). Oto on:

  1. Kod 2.
  2. if (stripos($_SERVER['HTTP_USER_AGENT'], 'msie') !== false) {
  3. echo 'jest ie';
  4. }



Pytania do Was:

1. Czy takie sprawdzenie jest zawsze poprawne i zawsze będzie poprawne i zawsze będzie sprawdzać poprawność przeglądarki IE, w zależności od wersji przeglądarki (czy to ie5, 6, 7, 8, 9, 10, 15, 20, 30, 50, 100 biggrin.gif)?(, ewentualnie od systemu?)

2. Czy kod nr 2 jest tak samo niezawodny jak kod 1? W kodzie 1 najpierw zostały wszystkie litery zmniejszone, potem sprawdzone według ciągu o małych literach (ciąg o małych literach sprawdzany jest ciągiem też małych literach). Kod nr 2 sprawdza w małych i dużych wyrazach ciąg msie pisany z małych liter (ciąg o małych i dużych literach sprawdzany jest ciągiem o małych literach).

Ostatnie pytanie nieco odbiegające od tematyki
3. Czy da się za pomocą PHP sprawdzić jaką wysokość posiada jakiś element na stronie, np div, czy obrazka? Chodzi mi o to, że mam jakiś div wypełniony treścią. I moje pytanie jest takie czy w PHP idzie sprawdzić jaką wysokość ma ten div wypełniony treścią? W jQuery/javaScript to się da zrobić. Mi się rozchodzi o PHP/

Proszę o posty na dwa pytania i jak ktoś zna odpowiedź, to na pytanie nr 3 też.
erix
Cytat
1. Czy takie sprawdzenie jest zawsze poprawne i zawsze będzie poprawne i zawsze będzie sprawdzać poprawność przeglądarki IE, w zależności od wersji przeglądarki (czy to ie5, 6, 7, 8, 9, 10, 15, 20, 30, 50, 100 )?(, ewentualnie od systemu?)

Nigdy nie jest, nigdy nie będzie, nigdy nie będzie sprawdzać poprawności przeglądarki IE. Od tego są komentarze warunkowe, poza tym - niektóre przeglądarki przedstawiają się tym user-agentem.

W żadnym wypadku nie powinno się sprawdzać przez user-agent.

Cytat
2. Czy kod nr 2 jest tak samo niezawodny jak kod 1? W kodzie 1 najpierw zostały wszystkie litery zmniejszone, potem sprawdzone według ciągu o małych literach (ciąg o małych literach sprawdzany jest ciągiem też małych literach). Kod nr 2 sprawdza w małych i dużych wyrazach ciąg msie pisany z małych liter (ciąg o małych i dużych literach sprawdzany jest ciągiem o małych literach).

Jest tak samo zawodny jak pierwszy.

Cytat
3. Czy da się za pomocą PHP sprawdzić jaką wysokość posiada jakiś element na stronie, np div, czy obrazka? Chodzi mi o to, że mam jakiś div wypełniony treścią. I moje pytanie jest takie czy w PHP idzie sprawdzić jaką wysokość ma ten div wypełniony treścią? W jQuery/javaScript to się da zrobić. Mi się rozchodzi o PHP/

Nie.
smagul
Jeśli znasz rozmiar czcionki i szerokość div, to możesz sobie wyliczyć ile linijek zajmie tekst a tym samym ile będzie miał wysokości.
Metoda zawodna.
artgrus
Ok, to użyję komentarzy warunkowych.

Skoro używa się komentarze warunkowe zamiast PHP, to proszę mi napisać, w jaki sposób zabezpieczę stronę w taki sposób, aby użytkownik który otworzy moją stronę w IE, przekierowało do innej strony (która zawiera info o wersjach przeglądarek jakich można używać) albo stronę by mi ukryło i to nie używając JS ani CSS?

Przecież kod który podałem wyżej i ten który podaje niżej:
  1. if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'msie') !== false) {
  2. echo 'jest ie';
  3. }

sprawdza i wyświetla mi treść 'jest ie' jeżeli otworzę ten kod w IE.

To skoro wyświetla poprawnie, to czemu komentarze? Co mają takiego komentarze warunkowe że lepiej ich używać do sprawdzenia wersji przeglądarki niż PHP?
erix
Cytat
Skoro używa się komentarze warunkowe zamiast PHP, to proszę mi napisać, w jaki sposób zabezpieczę stronę w taki sposób, aby użytkownik który otworzy moją stronę w IE, przekierowało do innej strony (która zawiera info o wersjach przeglądarek jakich można używać) albo stronę by mi ukryło i to nie używając JS ani CSS?

Meta-refresh w komentarzu warunkowym.

Cytat
sprawdza i wyświetla mi treść 'jest ie' jeżeli otworzę ten kod w IE.

Załóżmy taką sytuację - używam spreparowanego user-agenta, bo niektóre strony robią problemy, jeśli nie jest to IE i co? Też przekierujesz mnie na stronę, żebym używał np. Opery, pomimo że jej używam?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.