• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل با تشخیص رزولیشن مانیتور
#1
سلام
من میخوام مطابق با اندازه صفحه نمایش مانیتورها، یک کد رو نشون بدم
از کد زیر استفاده کردم:
کد پی‌اچ‌پی:
<?php
session_start
();
$screen_resolution=0;
if (!isset(
$_SESSION[iterate]))
{
if(!isset(
$HTTP_COOKIE_VARS["users_resolution2"]))
{
$_SESSION[iterate]=1;
?>
<script language="javascript">
<!--
writeCookie();

function writeCookie()
{
var the_cookie = "users_resolution2="+ screen.width +"x"+ screen.height;
document.cookie=the_cookie
location ='<?php echo $_SERVER['PHP_SELF'];?>';
}
//-->
</script>
<?php
}
else{
$screen_resolution $HTTP_COOKIE_VARS["users_resolution2"];
}
}
else{
$screen_resolution $HTTP_COOKIE_VARS["users_resolution2"];
}
settype($screen_resolution"integer");
echo 
$screen_resolution;
?>
ولی وقتی مقدار $screen_resolution رو چاپ میکنم 0 نشون میده
مشکل کد چیه
یا راه بهتری هست؟
  پاسخ
تشکر شده توسط :
#2
دوستان یکی راهنمایی کنه
راهنمایی کنید
چجوری بفهمم کسی با کامپیوتر وارد سایت شده یا با گوشی؟
  پاسخ
تشکر شده توسط :
#3
از کد زیر استفاده کنید

کد پی‌اچ‌پی:
<?php

if(!isset($_GET['screen_check']))
{
 
/* This code will be executed if screen resolution has not been detected.*/
 
echo "<script language='JavaScript'>
 <!-- 
 document.location=\"
$PHP_SELF?screen_check=done&Width=\"+screen.width+\"&Height=\"+screen.height;
 //-->
 </script>"
;
}
else 
   
 
/* This code will be executed after screen resolution is detected.*/
 
   if(isset($_GET['Width']) && isset($_GET['Height'])) {
 
// Resolution  detected
 
echo "<h1>Your screen resolution is ".$_GET['Width']." x ".$_GET['Height'].".</h1><br />";
 
//Display page as per resolution
 
if(($_GET['Width']>1024)&&($_GET['Height']>768)) {
 echo 
"<b>This will be displayed when screen resolution is greater than 1024x768.</b>";
 }
 else {
 
//Display page as per resolution
 
echo "<b>This will be displayed when screen resolution is either equal to or less than 1024x768.</b>";
 }
 
    }
 
    else {
 
              // Resolution not detected
 
    }
}
?>
W H A T E V E R   Sleepy 
  پاسخ
تشکر شده توسط : kingblog
#4
ممنون دوست عزیز جواب داد
فقط یه چیزی
نمیشه اونقسمت که اطلاعات بوسیله get ارسال میشه با post ارسال بشه؟
چون آدرس سایت یکم ناجور میشه
  پاسخ
تشکر شده توسط :
#5
(۱۳۹۸ شهریور ۰۴, ۱۱:۳۲ ق.ظ)kingblog نوشته: ممنون دوست عزیز جواب داد
فقط یه چیزی
نمیشه اونقسمت که اطلاعات بوسیله get ارسال میشه با post ارسال بشه؟
چون آدرس سایت یکم ناجور میشه

بله چرا که نه، برای استفاده از پست باید از تکنیک Ajax استفاده کنید. میتونین یه فایل php مثلا با عنوان screenDetection.php بسازید و کد زیر رو توش قرار بدید.

کد پی‌اچ‌پی:
<?php
    
if(isset($_POST['width']) && isset($_POST['height'])) {
        
$_SESSION['screen_width'] = $_POST['width'];
        
$_SESSION['screen_height'] = $_POST['height'];
        echo 
json_encode(array('outcome'=>'success''width' => $_POST['width'], 'height' => $_POST['height']));
    } else {
        echo 
json_encode(array('outcome'=>'error','error'=>"Couldn't save dimension info"));
    }
?>


توی صفحه ی index.html هم میتونید به صورت زیر با استفاده از جاوا اسکریپت رزولوشن صفحه رو ارسال کنید.


کد پی‌اچ‌پی:
<!DOCTYPE html>
<
html>
<
head>
    <
script src="https://code.jquery.com/jquery-2.2.4.js"></script>
    
    <
script>
        $(function() {
            $.
post('screenDetection.php', { widthscreen.widthheight:screen.height }, function(json) {
                if(
json.outcome == 'success') {
                    
// Screen resolution has been detected and is available in $_SESSION
                    // Do whatever you want with that information :)
                    
alert(`Screen resolution detected through PHP. WIDTH = ${json.width} & HEIGHT = ${json.height}`);
                } else {
                    
alert('Unable to let PHP know what the screen resolution is!');
                }
            },
'json');
        });
    </
script>
</
head>

<
body>
</
body>
</
html
W H A T E V E R   Sleepy 
  پاسخ
تشکر شده توسط : ayoubsys kingblog


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان