نمایش نتایج 1 تا 2 از 2

نام تاپیک: تعریف تعدادی متغیر در یک اسکریپت PHP با شرط نوع مرورگر کاربر

  1. #1

    تعریف تعدادی متغیر در یک اسکریپت PHP با شرط نوع مرورگر کاربر

    با سلام
    یک اسکریپتی آماده کردم که توی مرورگرهای فایرفاکس و IE و اپرا ، کاملا شبیه هم اجرا نمیشه، یعین خروجی که به کاربر میده در هر 3 این مروگرها کاملا یکی نیست ، تست کردم برای اینکه اون چیزی که من می خوام عملی بشه ، می بایست متناسب با هر مروگری مقدارهای خاصی به بعضی از متغیرها بدم ، فرضا متغیر X رو برای فایرفاکس باید بدم 10 و برای اپرا بدم 5 و برای IE بدم 20 تا خروجی اسکریپتم توی هر 3 اینها مثل هم باشه ، حالا کاری که می خوام بکنم اینه که با قرار دادن مقدار متغیرهای داخل شرط این مشکل رو حل کنم ، یعنی شرطم اینطور باشه :
    اگر مرورگر فایرفاکس بود {مقدار متغیرها این باشه}
    در غیر اینصورت اگر اپرا بود {مقدار متغیرها این باشه}
    در غیر اینصورت {مقدار متغیرها این باشه}

    یخورده گشتم اما نتونستم اینو عملی کنم ، تنها دستوری که عایدم شد و مرورگر کاربر رو مشخص می کنه (در PHP) به این صورت هست :
    $name= $_SERVER["HTTP_USER_AGENT"];

    اما، نکته اینجاست که همچین چیزی رو من در یک فایل Ajax (در یک CMS) دیدم ، به صورت زیر شرط رو به کار برده بود :
    if (is_moz)

    {
    **************
    {

    else if (is_opera)

    {
    **************
    {

    else

    {
    **************
    {


    ممنون میشم اگر راهنمایی بفرمایید .

  2. #2

    نقل قول: تعریف تعدادی متغیر در یک اسکریپت PHP با شرط نوع مرورگر کاربر

    خوب با نوشتن یه تابع ساده مشکل حل میشه. من تابع detect رو به صورت زیر نوشتم:
    <?php
    function detect() {
    $browser = array ("IE", "OPERA", "MOZILLA", "NETSCAPE", "FIREFOX", "SAFARI");
    $os = array ("WIN","MAC","LINUX");
    $info['browser'] = "OTHER";
    $info['os'] = "OTHER";
    foreach ($browser as $parent)
    {
    $s = strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent);
    $f = $s + strlen($parent);
    $version = substr($_SERVER['HTTP_USER_AGENT'], $f, 5);
    $version = preg_replace('/[^0-9,.]/','',$version);
    if ($s)
    {
    $info['browser'] = $parent;
    $info['version'] = $version;
    }
    }
    foreach ($os as $val)
    {
    if (eregi($val,strtoupper($_SERVER['HTTP_USER_AGENT']))) $info['os'] = $val;
    }
    return $info;
    }
    ?>
    اینکه چطور ازش استفاده کنید ساده هست. تیکه کد زیر رو ببینید:
    $d = detect();
    $b = $d['browser'];
    $v = $d['version'];
    $o = $d['os'];


    switch ($b) {
    case 'IE';
    echo "Internet Explorer";
    break;

    case 'FIREFOX';
    echo "Firefox";
    break;

    default:
    echo "Alvanweb";
    break;
    }
    با این تابع جدای از نوع مرورگر می‌تونید ورژن مرورگر و سیستم‌عامل رو هم وارد شرط کنید.
    موفق باشید

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •