PHP 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:
<?php
$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 ");
while($browser_os_rij = mysql_fetch_assoc($browser_os_sql))
{
$browser = $browser_os_rij['top_browser_os'];
}
include "browser_OS_functies.php";
echo $browsernaam." ".$versie;
?>
en browser_OS_functies.php:
Code:
<?php
echo "<font face=tahoma>";
// BROWSERNAAM EN -VERSIE
// Internet Explorer
if (stristr($browser, "MSIE 3") != FALSE ) {
$browsernaam = "Internet Explorer";
$versie = "3";
} elseif (stristr($browser, "MSIE 4") != FALSE ) {
$browsernaam = "Internet Explorer";
$versie = "4";
} elseif ((stristr($browser, "MSIE 5.0") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
$browsernaam = "Internet Explorer";
$versie = "5";
} elseif ((stristr($browser, "MSIE 5.5") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
$browsernaam = "Internet Explorer";
$versie = "5";
} elseif ((stristr($browser, "MSIE 6.0") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
$browsernaam = "Internet Explorer";
$versie = "6";
// Mozilla
} elseif ((stristr($browser, "Mozilla/5") != FALSE ) && (stristr($browser, "Netscape") == FALSE ) && (stristr($browser, "Opera") == FALSE ) && (stristr($browser, "Gecko") != FALSE ) && (stristr($browser, "rv:1") != FALSE )) {
$browsernaam = "Mozilla FireFox";
$versie = "1.0";
// Netscape Navigator
} elseif (stristr($browser, "Mozilla/2") != FALSE ) {
$browsernaam = "Netscape Navigator";
$versie = "2";
} elseif ((stristr($browser, "Mozilla/3") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
$browsernaam = "Netscape Navigator";
$versie = "3";
} elseif ((stristr($browser, "Mozilla/4") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
$browsernaam = "Netscape Navigator";
$versie = "4";
} elseif ((stristr($browser, "Netscape6") != FALSE ) && (stristr($browser, "Mozilla/5") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
$browsernaam = "Netscape Navigator";
$versie = "6";
} elseif ((stristr($browser, "Netscape/7") != FALSE ) && (stristr($browser, "Mozilla/5") != FALSE ) && (stristr($browser, "Opera") == FALSE )) {
$browsernaam = "Netscape Navigator";
$versie = "7";
// Opera
} elseif ((stristr($browser, "Opera/3") != FALSE ) && (stristr($browser, "Mozilla/3") != FALSE )) {
$browsernaam = "Opera";
$versie = "3";
} elseif ((stristr($browser, "Opera/3") != FALSE ) && (stristr($browser, "Mozilla/4") != FALSE )) {
$browsernaam = "Opera";
$versie = "3.5";
} elseif ((stristr($browser, "Opera 3") != FALSE ) && (stristr($browser, "Mozilla/4") != FALSE )) {
$browsernaam = "Opera";
$versie = "3.6";
} elseif ((stristr($browser, "Opera 4") != FALSE ) || (stristr($browser, "Opera/4") != FALSE )) {
$browsernaam = "Opera";
$versie = "4";
} elseif ((stristr($browser, "Opera 5") != FALSE ) || (stristr($browser, "Opera/5") != FALSE )) {
$browsernaam = "Opera";
$versie = "5";
} elseif ((stristr($browser, "Opera 6") != FALSE ) || (stristr($browser, "Opera/6") != FALSE )) {
$browsernaam = "Opera";
$versie = "6";
}
?>
<?php $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 "); { $browser = $browser_os_rij['top_browser_os']; } include "browser_OS_functies.php"; echo $browsernaam." ".$versie; ?> en browser_OS_functies.php: Code: <?php echo "<font face=tahoma>"; // BROWSERNAAM EN -VERSIE // Internet Explorer if (stristr($browser, "MSIE 3") != FALSE ) { $browsernaam = "Internet Explorer"; $versie = "3"; } elseif (stristr($browser, "MSIE 4") != FALSE ) { $browsernaam = "Internet Explorer"; $versie = "4"; } elseif ((stristr($browser, "MSIE 5.0") != FALSE ) && (stristr($browser, "Opera") == FALSE )) { $browsernaam = "Internet Explorer"; $versie = "5"; } elseif ((stristr($browser, "MSIE 5.5") != FALSE ) && (stristr($browser, "Opera") == FALSE )) { $browsernaam = "Internet Explorer"; $versie = "5"; } elseif ((stristr($browser, "MSIE 6.0") != FALSE ) && (stristr($browser, "Opera") == FALSE )) { $browsernaam = "Internet Explorer"; $versie = "6"; // Mozilla } elseif ((stristr($browser, "Mozilla/5") != FALSE ) && (stristr($browser, "Netscape") == FALSE ) && (stristr($browser, "Opera") == FALSE ) && (stristr($browser, "Gecko") != FALSE ) && (stristr($browser, "rv:1") != FALSE )) { $browsernaam = "Mozilla FireFox"; $versie = "1.0"; // Netscape Navigator } elseif (stristr($browser, "Mozilla/2") != FALSE ) { $browsernaam = "Netscape Navigator"; $versie = "2"; } elseif ((stristr($browser, "Mozilla/3") != FALSE ) && (stristr($browser, "Opera") == FALSE )) { $browsernaam = "Netscape Navigator"; $versie = "3"; } elseif ((stristr($browser, "Mozilla/4") != FALSE ) && (stristr($browser, "Opera") == FALSE )) { $browsernaam = "Netscape Navigator"; $versie = "4"; } elseif ((stristr($browser, "Netscape6") != FALSE ) && (stristr($browser, "Mozilla/5") != FALSE ) && (stristr($browser, "Opera") == FALSE )) { $browsernaam = "Netscape Navigator"; $versie = "6"; } elseif ((stristr($browser, "Netscape/7") != FALSE ) && (stristr($browser, "Mozilla/5") != FALSE ) && (stristr($browser, "Opera") == FALSE )) { $browsernaam = "Netscape Navigator"; $versie = "7"; // Opera } elseif ((stristr($browser, "Opera/3") != FALSE ) && (stristr($browser, "Mozilla/3") != FALSE )) { $browsernaam = "Opera"; $versie = "3"; } elseif ((stristr($browser, "Opera/3") != FALSE ) && (stristr($browser, "Mozilla/4") != FALSE )) { $browsernaam = "Opera"; $versie = "3.5"; } elseif ((stristr($browser, "Opera 3") != FALSE ) && (stristr($browser, "Mozilla/4") != FALSE )) { $browsernaam = "Opera"; $versie = "3.6"; } elseif ((stristr($browser, "Opera 4") != FALSE ) || (stristr($browser, "Opera/4") != FALSE )) { $browsernaam = "Opera"; $versie = "4"; } elseif ((stristr($browser, "Opera 5") != FALSE ) || (stristr($browser, "Opera/5") != FALSE )) { $browsernaam = "Opera"; $versie = "5"; } elseif ((stristr($browser, "Opera 6") != FALSE ) || (stristr($browser, "Opera/6") != FALSE )) { $browsernaam = "Opera"; $versie = "6"; } ?>
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
|