طريقه ساختن يه كنتور

mahyar - r

Member
من يه كنتور مي خوام كه تعداد بازديد كننده ها رو در طول روز بشمره
بازديد امروز : 125 نفر

آقا اگر شد يه كنتور براي بازديد كننده در ماه رو هم برام جور كنيد .
بازديد اين ماه : 552 نفر

البته نمي خوام از سايت هاي مجاني بگيرم . اگر شد كدهاش رو بذاريد

با تشكر پيشاپيش
 

iman_ebru

Active Member
اگر دوستان سورس اينو با php دارند بزارند . چون من هم اينو ميخوام .
 

Ghamnevis

Well-Known Member
من ميتونم با ASP بنويسم. :oops: Agha sharmande man safhe klidam farsi nadare ke type konam pas az hala begam maezerat mikham. age counter ba ASP bekhay man barat minevisam. ye chize sade minevisam baed khodet mituni virayeshesh koni. vali PHP ro ye bar neveshtam ye zarre be moshkel barkhordam age tamumesh kardam joftesh ro mizaram baratun. bazam sharmande az Fingilisi nevshtanam. :oops:
ghorbane hamegi Sayan
 

masood_y

Member
سلام:

من اين سورس ها رو هم به زبان ASP و هم PHP با توضيحات كامل را تو خونه دارم.
الآن رو سيستم شركتم و دسترسي به اونا ندارم.
فقط به من ميل بزنيد يا با پيغام خصوصي يادم بندازيد تا براتون Upload كنم.
در ضمن كنتورش خيلي كامل تر از اين حرف هاست!!!
 

masood_y

Member
اول PHP

در اين قسمت به ساخت يك شمارنده ساده (Hit Counter) با استفاده از php و MySQL مي پردازيم.
قبل از هر چيز با كمك PhpMyAdmin جدولي با ساختار زير ايجاد كنيد:

<?php # Table structure for table `counter`
#

CREATE TABLE `counter` (
`id` tinyint(4) NOT NULL default '1',
`total` bigint(20) unsigned NOT NULL default '0',
`yesterday` int(10) unsigned NOT NULL default '0',
`today` int(10) unsigned NOT NULL default '0',
`date` date default NULL
) TYPE=MyISAM;

#
# Dumping data for table `counter`
#

INSERT INTO `counter` VALUES (1, 0, 0, 0, NOW()); ?>
اين جدول شامل يك فيلد مشخصه، سه فيلد براي شمارش بازديدها و يك فيلد براي تاريخ مي باشد.توجه داشته باشيد كه اين جدول، يك record بيشتر ندارد و عمليات بر روي جدول با Update كردن همين ركورد انجام مي شود. به عنوان پيش فرض مقادير صفر و همچنين تاريخ جاري را در اين ركورد ثبت مي كنيم.
حالا كه ساختار ذخيره داده ها را مشخص كرديم به نوشتن كد برنامه مي پردازيم:
<?php //اطلاعات لازم براي اتصال به پايگاه داده
$db_user="username";
$db_pass="password";
$db_name="MyDB";
//اتصال به پايگاه داده
$con=mysql_connect('localhost',$db_user,$db_pass);
mysql_select_db($db_name,$con); ?>
اولين مرحله كار ، اتصال به پايگاه داده مي باشد.در كد بالا بايد اطلاعات مربوط به اتصال را به درستي وارد كنيد و الا اجراي برنامه در همين جا متوقف خواهد شد! <?php //دريافت نتايج از جدول
$result=mysql_query("SELECT * FROM counter");
$row=mysql_fetch_array($result);
$total=$row['total'];
$yesterday=$row['yesterday'];
$today=$row['today'];
$date=$row['date'];
list($year,$month,$day)=split('-',$date); ?>
در اين مرحله اطلاعات قبلي ذخيره شده در پايگاه داده را بازيابي مي كنيم. تابع split رشته اي را به عنوان آرگومان دوم خود دريافت كرده و طبق آرگومان اول كه حاوي كاراكتر جداكننده مي باشد آن را تقسيم مي كند و نتيجه را در آرايه اي به ما برمي گرداند. دستورlist عناصر آرايه را به متغيرهاي ليست، نسبت مي دهد. <?php $CurrentDate=date("Y-m-d"); //زمان جاري
list($CurrentYear,$CurrentMonth,$CurrentDay)=split('-',$CurrentDate); ?>
در اين قسمت با استفاده از تابع date زمان جاري را بدست مي آوريم.توجه داشته باشيد كه آرگومان اين تابع فرمت دريافت تاريخ را مشخص مي كند. <?php //تابع به روزرساني جدول
function Update($today,$yesterday,$total,$date){
mysql_query("UPDATE counter SET today='$today',yesterday='$yesterday',total='$total' ,date='$date' WHERE id=1");
} ?>
تابع Update وظيفه به روزرساني جدول را بر عهده دارد.اين تابع ، مقادير فيلدها را بر اساس پارامترهاي دريافتي تنظيم مي كند. <?php //مقايسه تاريخ جاري با تاريخ ذخيره شده در جدول و انجام محاسبات لازم
$total++;
if($CurrentYear==$year){
if($CurrentMonth==$month){
if($CurrentDay==$day){
$today++;
Update($today,$yesterday,$total,$CurrentDate);
}else{
if($CurrentDay==++$day){
$yesterday=$today;
$today=1;
Update($today,$yesterday,$total,$CurrentDate);
}else{
$yesterday=0;
$today=1;
Update($today,$yesterday,$total,$CurrentDate);
}
}
}else{
if($CurrentMonth==++$month){
$yesterday=$today;
$today=1;
Update($today,$yesterday,$total,$CurrentDate);
}else{
$yesterday=0;
$today=1;
Update($today,$yesterday,$total,$CurrentDate);
}
}

}
else{
if($CurrentYear==++$year){
$yesterday=$today;
$today=1;
Update($today,$yesterday,$total,$CurrentDate);
}
else{
$yesterday=0;
$today=1;
Update($today,$yesterday,$total,$CurrentDate);
}
} ?>
هسته اصلي برنامه، قسمت بالا مي باشد.اين قسمت در واقع تمرين ساختارهاي شرطي تو در تو مي باشد. دستورات مقايسه اي زمان جاري را با زمان ذخيره شده قبلي مقايسه مي كنند و طبق آنها عمل شمارش را انجام مي دهند.سپس با استفاده از تابع Update عمل به روزرساني جدول صورت مي گيرد. <?php //بازيابي مجدد اطلاعات از جدول
$result=mysql_query("SELECT * FROM counter");
$row=mysql_fetch_array($result);
$total=$row['total'];
$yesterday=$row['yesterday'];
$today=$row['today']; ?>
در آخر كار، يك پرس و جوي ديگر انجام مي دهيم و اطلاعات به روز شده را دريافت مي كنيم و در متغيرهاي مربوطه درج مي كنيم.براي نمايش شمارنده، به صورت زير عمل مي كنيم: <?php //نمايش شمارنده
echo "today:<strong>$today</strong><br>";
echo"yesterday: <strong> $yesterday</strong><br>";
echo"total:<strong> $total</strong>"; ?>
حالا مي توانيد كدهاي بالا را در فايلي به نام counter.php ذخيره كنيد و آن را آزمايش كنيد. با استفاده از كد زير مي توانيد اين فايل را به صفحه اصلي سايت خود ضميمه كنيد: <?php
include_once("counter.php");
?>
 

mosi-online

Member
Re: اول PHP

masood_y گفت:
در اين قسمت به ساخت يك شمارنده ساده (Hit Counter) با استفاده از php و MySQL مي پردازيم.
قبل از هر چيز با كمك PhpMyAdmin جدولي با ساختار زير ايجاد كنيد:

<?php # Table structure for table `counter`
#
[quote/]
آقا من تازه كارم تو پي اچ پي
ميشه بگي كجاي Phpmyadmin برم اين جدول رو ايجاد كنم؟
مرثي توضيح بدي واسم ممنون ميشم! 8O
 

جدیدترین ارسال ها

بالا