login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Browser onderzoeken

Offline Frederic - 19/02/2005 12:56
Avatar van FredericPHP ver gevorderde Ik heb in mijn database een kolom ID, een kolom DATUM en een kolom browser_os. In deze laatste sla ik de gegevens op van de bezoeker à la
Citaat:
Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL; rv:1.7.5) Gecko/20041202 Firefox/1.0


Dan gebruik ik dit script om de meest gebruikte browser te zoeken:
  1. <?php
  2. $browser_os_sql = mysql_query("SELECT browser_os AS top_browser_os, COUNT(*) AS aantal FROM site_bezoekers GROUP BY browser_os ORDER BY aantal DESC LIMIT 1 ");
  3. while($browser_os_rij = mysql_fetch_assoc($browser_os_sql))
  4. {
  5. $browser = $browser_os_rij['top_browser_os'];
  6. }
  7. include "browser_OS_functies.php";
  8. echo $browsernaam." ".$versie;
  9. ?>
  10.  
  11. en browser_OS_functies.php:
  12. Code:
  13. <?php
  14. echo "<font face=tahoma>";
  15. // BROWSERNAAM EN -VERSIE
  16. // Internet Explorer
  17. if (stristr($browser, "MSIE 3") != FALSE ) {
  18. $browsernaam = "Internet Explorer";
  19. $versie = "3";
  20. } elseif (stristr($browser, "MSIE 4") != FALSE ) {
  21. $browsernaam = "Internet Explorer";
  22. $versie = "4";
  23. } elseif ((stristr($browser, "MSIE 5.0") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
  24. $browsernaam = "Internet Explorer";
  25. $versie = "5";
  26. } elseif ((stristr($browser, "MSIE 5.5") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
  27. $browsernaam = "Internet Explorer";
  28. $versie = "5";
  29. } elseif ((stristr($browser, "MSIE 6.0") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
  30. $browsernaam = "Internet Explorer";
  31. $versie = "6";
  32. // Mozilla
  33. } elseif ((stristr($browser, "Mozilla/5") != FALSE ) && (stristr($browser, "Netscape") == FALSE ) && (stristr($browser, "Opera") == FALSE ) && (stristr($browser, "Gecko") != FALSE ) && (stristr($browser, "rv:1") != FALSE )) {
  34. $browsernaam = "Mozilla FireFox";
  35. $versie = "1.0";
  36. // Netscape Navigator
  37. } elseif (stristr($browser, "Mozilla/2") != FALSE ) {
  38. $browsernaam = "Netscape Navigator";
  39. $versie = "2";
  40. } elseif ((stristr($browser, "Mozilla/3") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
  41. $browsernaam = "Netscape Navigator";
  42. $versie = "3";
  43. } elseif ((stristr($browser, "Mozilla/4") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
  44. $browsernaam = "Netscape Navigator";
  45. $versie = "4";
  46. } elseif ((stristr($browser, "Netscape6") != FALSE ) && (stristr($browser, "Mozilla/5") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
  47. $browsernaam = "Netscape Navigator";
  48. $versie = "6";
  49. } elseif ((stristr($browser, "Netscape/7") != FALSE ) && (stristr($browser, "Mozilla/5") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
  50. $browsernaam = "Netscape Navigator";
  51. $versie = "7";
  52. // Opera
  53. } elseif ((stristr($browser, "Opera/3") != FALSE ) && (stristr($browser, "Mozilla/3") != FALSE )) {
  54. $browsernaam = "Opera";
  55. $versie = "3";
  56. } elseif ((stristr($browser, "Opera/3") != FALSE ) && (stristr($browser, "Mozilla/4") != FALSE )) {
  57. $browsernaam = "Opera";
  58. $versie = "3.5";
  59. } elseif ((stristr($browser, "Opera 3") != FALSE ) && (stristr($browser, "Mozilla/4") != FALSE )) {
  60. $browsernaam = "Opera";
  61. $versie = "3.6";
  62. } elseif ((stristr($browser, "Opera 4") != FALSE ) || (stristr($browser, "Opera/4") != FALSE )) {
  63. $browsernaam = "Opera";
  64. $versie = "4";
  65. } elseif ((stristr($browser, "Opera 5") != FALSE ) || (stristr($browser, "Opera/5") != FALSE )) {
  66. $browsernaam = "Opera";
  67. $versie = "5";
  68. } elseif ((stristr($browser, "Opera 6") != FALSE ) || (stristr($browser, "Opera/6") != FALSE )) {
  69. $browsernaam = "Opera";
  70. $versie = "6";
  71. }
  72. ?>


Maar dan nu mijn vraag: controleert hij welke string van de vorm
Citaat:
Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL; rv:1.7.5) Gecko/20041202 Firefox/1.0

identiek is, met als gevolg dat iemand met FF 1.0 die werkt op windows ME eigenlijk niet wordt meegerekend. Vandaar de vraag: is het mogelijk om eerst te onderzoeken welke de browsernaam en versie is, en er dan een topbrowser uit te halen?
Ik heb al op verschillende fora geprobeerd en niemand kan me helpen Allé SiteMasters, toon uw magic powers 

6 antwoorden

Gesponsorde links
Offline Thomas - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Thomas Moderator Misschien heb je [url=httpwww.php.netmanualenfunction.get-browser.php]hier[url] iets aan - met die functie (get_browser()) kun je specifieke gegevens van browsers opvragen.rnHadden mensen van de statistieken-wedstrijd deze functie ook gebruikt I wonder  
Offline Frederic - 30/11/1999 00:00
Avatar van Frederic PHP ver gevorderde [off]Welke wedstrijd[off]rnrnphprn $browser = get_browser();rn echo $browser['parent']; rnrnZou heel gemakkelijk zijn maar ik krijgrn rnWarning get_browser() browscap ini directive not set. inrnToen stootte ik op ini_set, maar dit bolt nietrnini_set('browscap.ini', TRUE); dacht ik, maar blijkbaar niet
Offline Thomas - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Thomas Moderator Hmm... browscap is een systeem-instelling, dus tenzij je je eigen server beheert kun je deze niet aanpassen. Je kunt kijken of ie staat ingesteld met ini_get(browscap) en dan van dat bestand gebruik maken... Als die ini_get() niets oplevert gaat het niet denk ik - tenzij je iets kunt regelen met je host dat ze dat inschakelen ofzo.
Offline Frederic - 30/11/1999 00:00
Avatar van Frederic PHP ver gevorderde php ini_get(browscap) rnlevert gewoon een blanko page
Offline Thomas - 30/11/1999 00:00
Avatar van Thomas Moderator Euh, ini_get() retourneert in dat geval een string, dus die zul je moeten echo'en als je wilt controleren of browscap inhoud heeft.
Offline Frederic - 30/11/1999 00:00
Avatar van Frederic PHP ver gevorderde hij geeft terugrn[code]etchttpdconfbrowscap.ini[code]
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.195s