ورود

View Full Version : سوال: نمایش آمارگیر در صفحه



ravand
شنبه 08 تیر 1392, 16:11 عصر
سلام
این کدهای آمارگیر رو ببینید:

<script type="text/javascript" src="http://1abzar.ir/abzar/tools/stat/amar-v2.php?color=333333&bg=F7F4D9&kc=888888&kadr=1&amar=wsgpvpquxgmq60xcu15w"></script>
این کد رو داخل یک فایل html قرار بدید و اجراش کنید می بینید که یک جدول که شامل آمار سایت هست نمایش داده میشه . الان توی همین کد مقدار border جدول ، رنگ کادر و زمینه ی جدول مشخص میشه . خود صفحه که جدول آمارگیر توش هست معلومه که صفحه ی amar-v2.php هست ولی چطوری این مقادیر بهش ارسال میشه.
یه دنیا ممنون میشم جوابم رو بدید تا فردا باید تحویل بدم.
متشکرم.

webdesign2
شنبه 08 تیر 1392, 16:45 عصر
سلام دوست عزيز آمار گير شما از اين سايت (http://1abzar.ir/abzar/tools/stat/amar-v2.php?color=333333&bg=F7F4D9&kc=888888&kadr=1&amar=wsgpvpquxgmq60xcu15w) داره استفاده ميكنه و شما همانند css به سايتخود ربط ميدهيد و اين amar-v2.php هم در لوكال داره كار ميبكنه

موفق باشيد

ravand
شنبه 08 تیر 1392, 16:59 عصر
منظور منو نگرفتی. شما اصلا کاری به این سایت نداشته باش. به نظر شما اگه من بخوام همچین چیزی بسازم باید چیکار کنم؟ ببینید من باید یه مقداری رو بدم به سایت یه مقداری رو بگیرم. رنگ و اندازه ی کادر جدول و شماره ی کاربری فرد رو باید چطوری بدم به سایت که یک جدول به این شکل بهم بده ؟

afshin9032
شنبه 08 تیر 1392, 18:18 عصر
معمولا این کدها از طریق get ارسال میشه .
مثلا تو همین کد که گذاشتی ، متغیر amar میتونه حاوی این کد unique برای فرد باشه .

ravand
شنبه 08 تیر 1392, 18:20 عصر
بذارید بیشتر توضیح بدم. الان این کد امارگیر هست که ما مثلا در صفحه safe.php قرار میدیم:

<script type="text/javascript" src="http://1abzar.ir/abzar/tools/stat/amar-v2.php?color=333333&bg=F7F4D9&kc=888888&kadr=1&amar=wsgpvpquxgmq60xcu15w"></script>
به کد بالا نگاه کنید الان این color=333333 یک رنگ هست با شماره ی رنگش که رنگ قرمز رو ایجاد میکنه.
الان سورس این صفحه رو ببینید:

http://1abzar.ir/abzar/tools/stat/amar-v2.php


document.write("<iframe src='http://1abzar.ir/abzar/tools/stat/stat-v2.php?color=&bg=&amar=' scrolling='no' frameborder='0' hspace='0' name='alir' align='center' width='155' height='162' style='border:px solid #;-webkit-border-radius: 4px;-moz-border-radius: 4px;border-radius: 4px;'></iframe>");
الان رنگ قرمز به این صفحه داده شده و این صفحه هم مقدار رو برای صفحه ی بعد که در نهایت باعث نمایش زمینه ی قرمز برای جدول شده. من موندم این کد رنگ چطوری به این صفحه ارسال شده؟

ravand
شنبه 08 تیر 1392, 18:21 عصر
معمولا این کدها از طریق get ارسال میشه .
مثلا تو همین کد که گذاشتی ، متغیر amar میتونه حاوی این کد unique برای فرد باشه .

من با روش get و post هم تست کردم ولی جواب نداد. شما تست کن متوجه میشی. این یه روش خاصی انجام داده که من حالیم نمیشه!!!!!!!!!!!!

qartalonline
شنبه 08 تیر 1392, 18:42 عصر
هیچ روش خاصی وجود نداره با استفاده از متد get فرستاده.

ravand
شنبه 08 تیر 1392, 19:10 عصر
هیچ روش خاصی وجود نداره با استفاده از متد get فرستاده.
نمیشه منظورتون رو واضح تر بگید؟
ببینید قراره کاربر وبلاگ نویس همچین کدی توی وبلاگش بذاره:

<script type="text/javascript" src="http://1abzar.ir/abzar/tools/stat/amar-v2.php?color=1F331F&bg=F75D25&kc=880000&kadr=1&amar=wsgpvpquxgmq60xcu15w"></script>
و به جای ادرس 1abzar.ir ادرس سایت من خواهد بود!

qartalonline
شنبه 08 تیر 1392, 19:23 عصر
خوب دقیقا کجا اشکال دارید .

مقادیر با استفاده از متد get به صفحه amar-v2.php ارسال میشه.

در صفحه amar-v2.php متغییرها از متد get دریافت میشه سپس کد iframe ساخته میشه .

متغییرهای border ، width و height در صفحه amar-v2.php به iframe اعمال میشن.

و متغییرهای رنگ یه بار دیگه از طریق متد get به stat-v2.php ارسال میشن و رنگها در اون صفحه بر روی آمارگیر اعمال میشن.

ravand
شنبه 08 تیر 1392, 19:53 عصر
یعنی این توی وبلاگ طرف هست:

<script type="text/javascript" src="http://1abzar.ir/abzar/tools/stat/amar-v2.php?color=1F331F&bg=F75D25&kc=880000&kadr=1&amar=wsgpvpquxgmq60xcu15w">
بعد با این روش گرفته میشه:

$color=$_GET['color'];
این گت منظورتون بود؟

در صفحه amar-v2.php متغییرها از متد get دریافت میشه سپس کد iframe ساخته میشه .
چجوری این کار رو میکنی؟
متشکرم.

qartalonline
شنبه 08 تیر 1392, 20:07 عصر
در واقع کد صفحه amar-v2.php بصورت زیر است:


<?php

$iframe='<iframe src="http://1abzar.ir/abzar/tools/stat/stat-v2.php?color='.$_GET['color'].'&bg='.$_GET['bg'].'&amar='.$_GET['amar'].'" scrolling="no" frameborder="0" hspace="0" name="alir" align="center" width="155" height="162" style="border:'.$_GET['kadr'].'px solid #'.$_GET['kc'].';-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;"></iframe>';

header('content-type: text/html; charset=utf-8');
echo 'document.write(\''.$iframe.'\');';

?>

البته من موارد امنیتی رو رعایت نکردم.

ravand
شنبه 08 تیر 1392, 21:58 عصر
متشکرم . کم کم داریم پیش می یریم.
من یه صفحه ساختم با نام safe.php

<html>
<head>
<p align="center">صفحه ی سایت</p>
</head>
<body>
<script type="text/javascript" src="http://localhost/amargir/show.php?color=1F331F&bg=F75D25&kc=4D58FF&kadr=5&amar=12"></script>
</body>
</html>
بعد یک صفحه دیگه با نام:
show.php

<?php
$iframe='<iframe src="http://localhost/amargir/show.php?color='.$_GET['color'].'&bg='.$_GET['bg'].'&amar='.$_GET['amar'].'" scrolling="no" frameborder="0" hspace="0" name="alir" align="center" width="155" height="162" style="border:'.$_GET['kadr'].'px solid #'.$_GET['kc'].';-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;"></iframe>';
header('content-type: text/html; charset=utf-8');
echo 'document.write(\''.$iframe.'\');';
?>
وقتی به این صفحه میرم:

http://localhost/amargir/safe.php
این شکلی میشه:
106354
و برای یکی از دوستان هم کلاً خطا میده:
اینم خطاش:

Notice: Undefined index: kadr in C:\wamp\www\amargir\show.php on line 2
mehbod rayaneh: ( ! ) SCREAM: Error suppression ignored for
mehbod rayaneh:
( ! ) SCREAM: Error suppression ignored for
( ! ) Notice: Undefined index: kadr in C:\wamp\www\amargir\show.php on line 2
Call Stack
# Time Memory Function Location
1 0.0013 140808 {main}( ) ..\show.php:0

( ! ) SCREAM: Error suppression ignored for
( ! ) Notice: Undefined index: kc in C:\wamp\www\amargir\show.php on line 2
Call Stack
# Time Memory Function Location
1 0.0013 140808 {main}( ) ..\show.php:0
document.write('');
متشکرم.

qartalonline
شنبه 08 تیر 1392, 22:25 عصر
اشتباهتون تو صفحه show.php است که آدرس iframe رو به خود صفحه show.php دادین و بصورت حلقه بینهایت فراخوانی میشه.

شما باید یه صفحه دیگه ای رو ایجاد کنید (که اون صفحه آمارگیر اصلیتونه و اطلاعات رو تو دیتابیس ثبت میکنه و نمایش میده) و آدرس اون صفحه رو به iframe بدید.

در واقع تو مثال که مطرح کردید آمار اصلی رو آدرس زیر میگیره.

http://1abzar.ir/abzar/tools/stat/stat-v2.php?color=333333&bg=F7F4D9&amar=wsgpvpquxgmq60xcu15w

ravand
یک شنبه 09 تیر 1392, 08:59 صبح
خیلی متشکرم.
من این کارا رو کردم:
safe.php

<html>
<head>
<title>عنوان</title>
</head>
<body>
<p align="center">صفحه ی سایت</p>
<script type="text/javascript" src="http://localhost/amargir/show.php?color=1F331F&bg=F75D25&kc=4D58FF&kadr=5&amar=12"></script>
</body>
</html>

show.php

<?php
$iframe='<iframe src="http://localhost/amargir/nama.php?color='.$_GET['color'].'&bg='.$_GET['bg'].'&amar='.$_GET['amar'].'" scrolling="no" frameborder="0" hspace="0" align="center" width="155" height="162" style="border:'.$_GET['kadr'].'px solid #'.$_GET['kc'].';border-radius:5px;"></iframe>';
header('content-type: text/html; charset=utf-8');
echo 'document.write(\''.$iframe.'\');';
?>
یک فایل هم ساختم با نام nama.php :

<?php
$color=$_GET['color'];
echo "<div style=\"color:#$color\" \>";
echo "ravandi";
echo "</div>";
?>
که خواستم مقادیری که شما میگید رو بگیره. الان در این آدرس که میرم:

http://localhost/amargir/safe.php
یک کادر آبی رنگ هست و یک متن ravandi . و متن ravandi رنگی نمیشه. یعنی مقدار color در خط زیر دریافت نمیشه:

$color=$_GET['color'];
بازم از اینکه جواب میدید ممنونم.

ravand
یک شنبه 09 تیر 1392, 09:14 صبح
متشکرم مشکلم حل شد فکر میکنم صفحه ام کش کرده بود. :
show.php

<?php
$iframe='<iframe src="http://localhost/amargir/nama.php?color='.$_GET['color'].'&bg='.$_GET['bg'].'&amar='.$_GET['amar'].'" scrolling="no" frameborder="0" hspace="0" align="center" width="155" height="162" style="border:'.$_GET['kadr'].'px solid #'.$_GET['kc'].';border-radius:5px;"></iframe>';
header('content-type: text/html; charset=utf-8');
echo 'document.write(\''.$iframe.'\');';
?>

nama.php

<?php
$color=$_GET['color'];
$bg=$_GET['bg'];
$amar=$_GET['amar'];
echo "<div style=\"color:#$color;background-color:#$bg; \" \>";
echo "ravandi";
echo $amar;
echo "</div>";
?>
از همتون که جواب دادید متشکرم.

rjrmaku
شنبه 15 فروردین 1394, 03:43 صبح
لطفا این رو همکامل کنید
صفحه show.php


<?php
$iframe='<iframe src="http://localhost/maku/amar/amar.php?color='.$_GET['color'].'&bg='.$_GET['bg'].'&amar='.$_GET['amar'].'" scrolling="no" frameborder="0" hspace="0" name="alir" align="center" width="155" height="162" style="border:'.$_GET['kadr'].'px solid #'.$_GET['kc'].';-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;"></iframe>';
header('content-type: text/html; charset=utf-8');
echo 'document.write(\''.$iframe.'\');';
?>


صفحه amar.php



<?php
$color=$_GET['color'];
$bg=$_GET['bg'];
$amar=$_GET['amar'];
echo "<div style=\"color:#$color;background-color:#$bg; \" \>";
echo $amar;
echo "</div>";
?>


<?php
//اختلاف زمانی سرور
$time_zone = '12600';
//تاریخ امروز
$today = date("Y-m-d", time()+$time_zone);
//تاریخ دیروز
$yesterday = date("Y-m-d", time()-86400+$time_zone);
//آدرس فایل
$file_src = 'visit-stats.txt';
chmod($file_src, 0755);
//خواندن فایل
$read_file = file_get_contents($file_src);
//اگر فایل خالی نبود
if (filesize($file_src) > 0 || $read_file != ''){
$split_file = explode('|', $read_file);
//print_r($split_file);
$modify = $split_file[3];
//اگر تاریخ آخرین ویرایش برابر تاریخ امروز نبود
if($modify != $today){
$today_visit = 1;
$yesterday_visit = $split_file[0];
$total_visit = $split_file[2] + 1;
$last_modify = $today;
}
//اگر تاریخ آخرین ویرایش برابر امروز بود
else{
$today_visit = $split_file[0] + 1;
$yesterday_visit = $split_file[1];
$total_visit = $split_file[2] + 1;
$last_modify = $today;
}
}
//اگر فایل خالی بود
else{
$today_visit = 1;
$yesterday_visit = 0;
$total_visit = 1;
$last_modify = $today;
}
//نوشتن آمار جدید در فایل
$file_src_handle = fopen($file_src, 'w+');
$visit_data = $today_visit.'|'.$yesterday_visit.'|'.$total_visit .'|'.$last_modify;
fwrite($file_src_handle, $visit_data);
fclose($file_src_handle);
//محاسبه تعداد کاربران آنلاین
$config_array = array(
'user_time' => date("YmdHis", time()+$time_zone),
'user_ip' => $_SERVER['REMOTE_ADDR'],
'file_name' => 'visit-online.txt'
);
chmod($config_array['file_name'], 0755);
//خواندن اطلاعات فایل
$online_file = file_get_contents($config_array['file_name']);
//تجزیه به آرایه
$online_file = explode("\r\n", $online_file);
//حذف مقادیر خالی
foreach($online_file as $key=> $value){
if(is_null($value) || $value == ''){
unset($online_file[$key]);
}
}
//حذف آی پی های قدیمی و آی پی فعلی
foreach($online_file as $key=> $value){
$user_ip_time = explode("|", $value);
if($user_ip_time[1] <= date("YmdHis", time()+$time_zone - 300)){
unset($online_file[$key]);
}
if($user_ip_time[0] == $config_array['user_ip']){
unset($online_file[$key]);
}
}
//محاسبه تعداد افراد آنلاین
$online = 1;
foreach($online_file as $online_users){
$user_ip_time = explode("|", $online_users);
if($user_ip_time[1] >= date("YmdHis", time()+$time_zone - 300)){
$online++;
}
}
//بدست آوردن ورودی گوگل

//آمار کاربرانی که آنلاین هستند به اضافه کاربر فعلی
$new_online = $config_array['user_ip'] . "|" . $config_array['user_time'] . "\r\n";;
foreach($online_file as $key=> $value){
$new_online .= $value . "\r\n";
}
//نوشتن آمار جدید در فایل
$file_src_handle = fopen($config_array['file_name'], 'w+');
fwrite($file_src_handle, $new_online);
fclose($file_src_handle);

echo "<div class=\"stats\">
بازدید امروز: $today_visit <br />
بازدید دیروز: $yesterday_visit <br />
افراد آنلاین: $online <br />
بازدید کل: $total_visit
</div>";
?>

<style type="text/css">
.stats{
display:block;
margin-left:auto;
margin-right:auto;
width:150px;
height:auto;
border:1px solid #CCC;
padding:4px;
line-height:20px;
}
</style>



حالا چه متدی به این اضافه میشه تا برای هر وب سایت آمار جداگانه بده