samedi 1 août 2015

PHP Condition for Mobile Detection Code Doesn't Work

This is supposed to be an easy task to figure out but this quite giving me an headache for an hour already (well, alcohol/hangover is really the reason for my headache... lol im just blaming the codes and my disabled brain right now.)

Anyway, the PHP Function is supposed to check the visitor's user agent. If he/she is using a desktop OR a mobile device.

The PHP code simply tells that IF the visitor of the website is using Mobile device, it will include a certain file (mobileshares.php) in the HTML structure. IF NOT then do nothing...

The weird thing is, even if I'm opening my website in desktop, the mobileshares.php file is included which is not supposed to be! any ideas? Am I using the PHP Conditional wrong???? Need clarifications please.. Thank you

PHP FUNCTION

<?php

/* USER-AGENTS
================================================== */
function check_user_agent ( $type = NULL ) {
        $user_agent = strtolower ( $_SERVER['HTTP_USER_AGENT'] );
        if ( $type == 'bot' ) {
                // matches popular bots
                if ( preg_match ( "/googlebot|adsbot|yahooseeker|yahoobot|msnbot|watchmouse|pingdom\.com|feedfetcher-google/", $user_agent ) ) {
                        return true;
                        // watchmouse|pingdom\.com are "uptime services"
                }
        } else if ( $type == 'browser' ) {
                // matches core browser types
                if ( preg_match ( "/mozilla\/|opera\//", $user_agent ) ) {
                        return true;
                }
        } else if ( $type == 'mobile' ) {
                // matches popular mobile devices that have small screens and/or touch inputs
                // mobile devices have regional trends; some of these will have varying popularity in Europe, Asia, and America
                // detailed demographics are unknown, and South America, the Pacific Islands, and Africa trends might not be represented, here
                if ( preg_match ( "/phone|iphone|itouch|ipod|symbian|android|htc_|htc-|palmos|blackberry|opera mini|iemobile|windows ce|nokia|fennec|hiptop|kindle|mot |mot-|webos\/|samsung|sonyericsson|^sie-|nintendo/", $user_agent ) ) {
                        // these are the most common
                        return true;
                } else if ( preg_match ( "/mobile|pda;|avantgo|eudoraweb|minimo|netfront|brew|teleca|lg;|lge |wap;| wap /", $user_agent ) ) {
                        // these are less common, and might not be worth checking
                        return true;
                }
        }
        return false;
}

?>

PHP Condition

<?php
$ismobile = check_user_agent('mobile');
if($ismobile) {
include_once 'mobileshares.php';
}
?>

Aucun commentaire:

Enregistrer un commentaire