检查字符串和用户代理

Bat*_*fan 5 php user-agent query-string

我正在尝试设置一个PHP片段,检查是否满足2个条件,如果它们是,它会回应一些文本.条件是:

  1. 查询字符串等于某个值.
  2. 浏览器是Firefox.

它正在检查查询字符串,但它似乎不适用于浏览器(用户代理).见下文:

<?php

function get_user_browser()
{
    $u_agent = $_SERVER['HTTP_USER_AGENT'];
    $ub = '';
    if(preg_match('/Firefox/i',$u_agent))
    {
        $ub = "firefox";
    }
    else
    {
        $ub = "other";
    }

} 

if (isset($_GET['print']) && $_GET['print'] != "" && $ub = 'firefox') 
{
    $pg = $_GET['print'];
    if (!file_exists('1')) 
    {
        echo '<b>It worked!</b>';
    }
}
else 
{
    echo '';
}

?> 
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

Nea*_*eal 12

这就是我要检查的东西:

if(strlen(strstr($_SERVER['HTTP_USER_AGENT'],"Firefox")) <= 0 ){ // if not firefox

  //do something

}
Run Code Online (Sandbox Code Playgroud)

并添加到您的代码中:

function get_user_browser()
{
    $u_agent = $_SERVER['HTTP_USER_AGENT'];
    $ub = '';
    if(strlen(strstr($u_agent,"Firefox")) > 0 ){ 

      $ub = 'firefox';

    }
    else {
      $ub = 'other';
    }

    return $ub;
} 

if (isset($_GET['print']) && $_GET['print'] != "" 
                          && get_user_browser() == 'firefox') 
{
    $pg = $_GET['print'];
    if (!file_exists('1')) 
    {
        echo '<b>It worked!</b>';
    }
}
else 
{
    echo '';
}
Run Code Online (Sandbox Code Playgroud)