با php آیا میشه screen.width و screen.height و screen.colorDepth را گرفت و ذخیره کرد؟
من فقط می تونم این امکانات بازدید کننده را با اسکریپتی نمایش بدم اما جایی نمیشه ریختش!
Printable View
با php آیا میشه screen.width و screen.height و screen.colorDepth را گرفت و ذخیره کرد؟
من فقط می تونم این امکانات بازدید کننده را با اسکریپتی نمایش بدم اما جایی نمیشه ریختش!
!!!!!!!????
بهترین کار اینه که با استفاده از GET انجامش بدی.
مثلا" اینو تو فایلت بزار:
و اینم یه فایل به اسم test.phpکد:<html>
<script>
window.location="test.php?height="+screen.height+"&width="+screen.width;
</script>
</html>
کد:<?php
$height = $_GET['height'];
$width = $_GET['width'];
?>
البته سئوال اصلیم که پاک شده اینه که داخل یک اسکریپت چطور میشه کدها php به کار برد؟
من کانتری معرفی کردم که ip های بازدیدکننده را لیست می کنه و برای نمایش موقعیت جغرافیایی این لیست می بایست ورودی به اسکریپت بدم و داخل آن مختصات جغرافیایی را در آورم
داخل '(1)onclick='gmap عدد 1 ورودی به اسکریپت فعالسازی یک table است اگه بشه این ورودی را طوری تنظیم کرد که هنگام کلیک بر روی این پرچم ها مختصات آنها مانند '(24,35-)onclick='gmap وارد شود و داخل اسکریپت پایین داخل متغیری با زبان php ریخت مشکلم حل میشه..!کد:<a href=\"#down\" onclick='gmap(1);'><img border=\"0\" src=\"pic/flags/{$_iso}.gif\" title=\"{$_country}\"></a>
اما این اشتباه است و اسکریپت کار نمی کند ;item = item_$کد:<script>
gmap=function(item) {
if(item) {
document.getElementById('map').style.display='block';
$_item = item;
} else {
document.getElementById('map').style.display='none';
}
}
</script>
کد کامل این قسمت رو بزارید که شامل قسمت تعریف کردن و مقدار دادن به اون متغیر ها هم باشه!
دو اسکریپت داریمنقل قول:
اولی برای فعال کردن فرم نمایش نقشه گوگل و دومی اسکریپت گوگل که با وارد کردن مختصات محل آن را در نقشه نمایش می دهد. حالا اینکه چگونه ip رو به مختصات تبدیل میشه نیازی به گفتن نیست که حجم این گفتگو زیاد نشهکد:<script>
gmap=function(item) {
if(item) {
document.getElementById('map').style.display='block';
$_item = item;
} else {
document.getElementById('map').style.display='none';
}
}
</script>
<!-- Google Maps Code Begin -->
<script type='text/javascript'>
//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById('googlemap'));
map.addOverlay(getRegionCircle(map.getCenter(), 50));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl(true));
map.addControl(new GOverviewMapControl(new GSize(169.2, 130.9)));
map.setCenter(new GLatLng($_item), 7 );
map.setMapType(G_NORMAL_MAP);
map.openInfoWindow(map.getCenter(),'<br /><strong>Tehran, Iran</strong>');
}
}
function GUnload()
{
if (window.GUnloadApi)
{
GUnloadApi();
}
}
//]]>
</script>
<!-- Google Maps Code End -->
کد پایین مربوط به اسکریپت اول است که در صورت کلیک بر روی لینک آن فرم مربوط به نقشه گوگل نمایش می یابد. حالا ما با توجه به این لینک ها که داخل کانتری قرار می گیرند و مثلا 10 لینک با مختصات متفاوت نمایش داده می شوند باید کاری کنیم که در صورت کلیک بر روی هر کدام از این لینک ها مختصات آن ها به داخل اسکریپت اول رفته و داخل item_$ ریخته شود.
اشکالات این کدها:کد:<a href=\"#down\" onclick='gmap(-35.6720,51.4240);'>LINK</a>
ممکن است در ورودی هایی مثل 35.6720,51.4240- اسکریپت کار نکند
داخل اسکریپت اول کد ;item = item_$ منجرب به از کار افتادن اسکریپت می شود
برای اینکه ورودی به اسکریپت بدهیم و آن ورودی را داخل متغیرهای php بریزیم چه باید کرد؟
نه اینطوری به صفحه دیگه هدایت میشه و در آدرس بار نمی خوام نمایش پیدا کنه!نقل قول:
نمیشه کاری کرد داخل همین اسکریپت چنین حالتی در آورد؟
پس سایتی مثل وبگذر چیکار می کنه؟کد:$_height = screen.height
داخل اسکریپت؟یعنی با جاوا اسکریپت متغیر php تعریف کنی؟غیر ممکنه.
ولی راههای زیادی برای انتقال هست یچیزی هم که شبیه همین چیزیه که الان گفتی یعنی تو جاوا اسکریپت کوکی تعریف کنی تو php کوکی بخونی.
آره منم همین رو داشتم می خوندم دیگه سر گیجه گرفتمنقل قول:
تست خود سایت که درست کار می کنه اما من که get_resolution را می سازم هنگام فراخوانی بهکد:http://regretless.com/scripts/basics/get_screen_width_height.php
داخل کدها که لوکشن میکنه گیر میده و از localhost من پوشه ها رو نمیشناسه!!!کد:<?php=$GLOBALS[callget_res_page_name]?>
اگه میشه نگاهی بیاندازید ببینید کاری می تونید بکنید؟
اون یکی مبحث گوگل مپ هم اگه اطلاع دارید توضیح بدید
ممنون
این کد php قدیمیه از $_COOKIE استفاده کنید.
من متوجه نشدم چکار دارید انجام میدید اما این کدی که نوشتید قدیمی نیست بلکه اشتباه سینتکسی داره!نقل قول:
این رو باید به جاش بنویسید:
[php]
<?= $GLOBALS[callget_res_page_name] ?>
[/php]
اگر هم callget_res_page_name یک ثابت تعریف شده نیست باید اونو داخل کوتیشن بزارید:
[php]
<?= $GLOBALS['callget_res_page_name'] ?>
[/php]
روش بهترش هم استفاده از echo به جای استفاده از فرم کوتاه شده اون هست!
همه جا به همین صورت توضیح دادن و برخی هم که خیال خودشون رو راحت کردننقل قول:
ولی نگفتن این فایل چی باید توش باشه :دیکد:location = 'get_resolution.php';
با این حال کوکی جدید cookie_$ به چه صورته؟ منظورتون رو نمی فهمم این رو کجا به کار ببرم اگه میشه کدشو بگذارید
بله درسته ولی بازهم کار نمی کنهنقل قول:
در مورد سئوال اوله که قراره رزولوشن بازدیدکننده را با php و cookie بگیرم و ذخیره کنم
و این لینک برای نصب get_resolution.php می باشدکد:http://regretless.com/scripts/basics/get_screen_width_height.php
* راستی آن یکی سئوالی که داشتم به نتیجه ای رسید؟کد:Simply [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] , copy and paste it to a text editor and save the file as get_resolution.php. Then upload to where you need and call it with:
کد:http://forum.p30world.com/showpost.php?p=5223036&postcount=6
ببینید شما اول یه چیزی رو مشخص کنید. شما یک فایل php دارید که خروجی جاوا اسکرپت میده؟
یا اینکه یک فایل با پسوند js دارید که میخواید متغیر php داخلش داشده باشید؟
اگر گزنه اول هست باید کد php رو توی تاپیک قرار میدادید اگر گزینه دوم هست پس این دستورات php توی فایل جاوا اسکرپت چکار میکنند؟!
اگر هم چند تا سوال جدا از هم هست پس چرا همه توی این تاپیک جمع شدن؟ :دی
فایلی به نام get_resolution.php داریم که طول و عرض اسکرین را در کوکی ذخیره می کند:نقل قول:
[PHP]<?
/************************************************** ************************************
Originally from http://www.phpbuddy.com/article.php?id=8
Author: Ranjit Kumar (Cheif Editor phpbuddy.com)
Modified by: Ying Zhang (Dodo) http://pure-essence.net
Two main modifications:
1. To check currently saved screen resolution cookie
2. To allow inclusion by other php files
In order to use this file in another php file, use:
$callget_res_page_name = $REQUEST_URI;
$GLOBALS[callget_res_page_name] = $callget_res_page_name;
include("get_resolution.php");
echo $screen_width." is your screen width and ".$screen_height." is your screen height.";
************************************************** ***************************************/
?>
<script language="javascript">
<!--
function writeCookie()
{
var today = new Date();
var the_date = new Date("December 31, 2023");
var the_cookie_date = the_date.toGMTString();
var the_cookie = "users_res="+ screen.width +"x"+ screen.height;
var the_cookie = the_cookie + ";expires=" + the_cookie_date;
document.cookie=the_cookie
if (document.cookie){
location = '<?=$GLOBALS[callget_res_page_name]?>';
}
}
function checkRes(width, height) {
if(width != screen.width || height != screen.height) {
writeCookie();
} else {
return true;
}
}
//-->
</script>
<?
if(isset($HTTP_COOKIE_VARS["users_res"])) {
$screen_res = $HTTP_COOKIE_VARS["users_res"];
$screen_res_tmp = explode("x", $screen_res);
$screen_width = $screen_res_tmp[0];
$screen_height = $screen_res_tmp[1];
?>
<script language="javascript">
<!--
checkRes(<?=$screen_width?>, <?=$screen_height?>);
//-->
</script>
<?
}
else //means cookie is not found set it using Javascript
{
?>
<script language="javascript">
<!--
writeCookie();
//-->
</script>
<?
}
?>[/PHP]
و در نهایت قاعدتا باید با این یکی کد بتونیم طول و عرض را نمایش دهیم
[PHP]<?php
$callget_res_page_name = $REQUEST_URI;
$GLOBALS[callget_res_page_name] = $callget_res_page_name;
include("get_resolution.php");
echo $screen_width." is your screen width and ".$screen_height." is your screen height.";
?>
[/PHP]
برای این از کوکی استفاده می کنم چون می خوام طول و عرض را ذخیره کنم
همچنین نمی خوام از window.location استفاده کنم و طول و عرض در آدرس بار نمایش پیدا کند * اون یکی سئوال هم که از شما درباره ورودی اطلاعات به اسکریپت و ارسال آن به گوگل مپ پرسیدم به کجا رسید؟
شما فرمودید که کد را کامل بگذارم اما پس از ارسال تاپیک هنوز جوابی ندادید؟!
کد:http://forum.p30world.com/showpost.php?p=5223036&postcount=6
دو اسکریپت داریمنقل قول:
اولی برای فعال کردن فرم نمایش نقشه گوگل و دومی اسکریپت گوگل که با وارد کردن مختصات محل آن را در نقشه نمایش می دهد. حالا اینکه چگونه ip رو به مختصات تبدیل میشه نیازی به گفتن نیست که حجم این گفتگو زیاد نشهکد:<script>
gmap=function(item) {
if(item) {
document.getElementById('map').style.display='block';
$_item = item;
} else {
document.getElementById('map').style.display='none';
}
}
</script>
<!-- Google Maps Code Begin -->
<script type='text/javascript'>
//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById('googlemap'));
map.addOverlay(getRegionCircle(map.getCenter(), 50));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl(true));
map.addControl(new GOverviewMapControl(new GSize(169.2, 130.9)));
map.setCenter(new GLatLng($_item), 7 );
map.setMapType(G_NORMAL_MAP);
map.openInfoWindow(map.getCenter(),'<br /><strong>Tehran, Iran</strong>');
}
}
function GUnload()
{
if (window.GUnloadApi)
{
GUnloadApi();
}
}
//]]>
</script>
<!-- Google Maps Code End -->
کد پایین مربوط به اسکریپت اول است که در صورت کلیک بر روی لینک آن فرم مربوط به نقشه گوگل نمایش می یابد. حالا ما با توجه به این لینک ها که داخل کانتری قرار می گیرند و مثلا 10 لینک با مختصات متفاوت نمایش داده می شوند باید کاری کنیم که در صورت کلیک بر روی هر کدام از این لینک ها مختصات آن ها به داخل اسکریپت اول رفته و داخل item_$ ریخته شود.
اشکالات این کدها:کد:<a href=\"#down\" onclick='gmap(-35.6720,51.4240);'>LINK</a>
ممکن است در ورودی هایی مثل 35.6720,51.4240- اسکریپت کار نکند
داخل اسکریپت اول کد ;item = item_$ منجرب به از کار افتادن اسکریپت می شود
برای اینکه ورودی به اسکریپت بدهیم و آن ورودی را داخل متغیرهای php بریزیم چه باید کرد؟