امیرحسین نائی | امیر اچ ان

نمایش تعداد بازدید صفحه (به دو روش)

نمایش تعداد بازدید صفحه (به دو روش)

تو این پست میخوام آموزش بدم ، که چطوری یه آمارگیر ساده برای سایتمون بسازیم که هر بار که صفحه رفرش شد یه واحد به اون اضافه بشه .

خب ، ما باید تعداد بازدید ثبت شده رو یجا ذخیره کنیم ، 2 تا راه داریم : یا ذخیره تو دیتابیس یا ذخیره تو یه فایل متنی.
روش اول ، ذخیره در فایل متنی :
برای اینکار فقط به کد php زیر نیاز داریم :

	
<?php
$file=fopen("myfile.txt","a");
fwrite($file,"1");
fclose($file);
?>
	

تو خط اول یه فایل به نام myfile.txt رو باز کردم . (اگه وجود نداشته باشه ، بصورت خودکار ایجاد میشه).
تو خط بعد عدد 1 رو داخل این فایل اضافه کردم !
تو خط اخر هم فایل رو بستم.

حالا، کد زیر تعداد بازدید رو چاپ میکنه :

	
<?php $file=fopen("myfile.txt","r"); echo strlen(fgets($file)); fclose($file); ?>
	

کد بالا ، فایل رو باز میکنه، تعداد کاراکتر هاشو میشماره و نمایش میده و بعد فایل رو میبنده !
همچنین یک راه اصولی تر هم برای اینکار وجود داره و اینه که کدی بنویسید که هربار که صفحه رفرش شد یک واحد به مقداری که در فایل ذخیره کردید اضافه کنه و سیو کنه . مثلا اولین بار که صفحه لود میشه مقدار درون فایل بشه 1
بار بعد بشه 2
بار بعد 3
و...
در این صورت دیگر نیازی به شمردن کاراکتر های فایل نیست و فقط کافیه مقدار درون فایل رو نمایش بدید . همچنین فایل حجم کمتری هم اشغال میکنه.

روش دوم ، ذخیره در دیتابیس (پیشنهاد میشود):
برای این کار توی دیتابیس یه جدول مثلا به نام visit میسازیم با دو فیلد id و ip که فیلد id باید primary و AUTO_INCREMENT باشه .
حالا با این کد php آی پی کاربر رو دریافت و داخل فیلد ip دیتابیس ثبت میکنیم(فرض میکنیم کد های مربوط به اتصال به دیتابیس در فایل CONNECT.php ذخیره شده است) :

	
<?php
include("CONNECT.php");
$ip = $_SERVER['REMOTE_ADDR'];
$q =mysql_query("INSERT INTO `visit` (`ip`) VALUES ('$ip')");
?>
	

حالا هرجا که بخواییم تعداد بازدید نمایش داده بشه ، از کد زیر استفاده میکنیم :

	
<?php
include("CONNECT.php");
$q= mysql_query("SELECT COUNT(*) FROM `visit` ");
$row=mysql_fetch_array($q);
echo $row[0];
?>
	

دقت کنید که روش های بالا برای نمایش بازدید یک صفحه هستش ولی ممکنه شما نیاز داشته باشید برای چندین صفحه نمایش بازدید رو داشته باشید .در این صورت پیشنهاد میکنم حتما از دیتابیس استفاده کنید ، در این صورت خیلی راحت میتونید با اضافه کردم یک ستون دیگه در دیتابیس و کمی تغییر در کوئری های بالا نمایش بازدید رو برای چندین پست داشته باشید.


تاریح ارسال/ویرایش پست : 12/7/1395

مدیر سایت

امیرحسین نائی | امیر اچ ان

امیرحسین نائی (amirhn - امیر اچ ان) هستم.
متولد 1379 عاشق❤️ برنامه نویسی با انواع زبان های مختلف 😃
از 15 سالگی یادگیری برنامه نویسی رو شروع کردم
و تا امروز همچنان درحال یادگیری هستم .
در تلاش برای تبدیل شدن به یک Full Stack Developer 💪
روز به روز بیشتر عاشق برنامه نویسی میشم و هرگز برام خسته کننده نمیشه !!!

نظرات

نظرات محمد حسین

ممنون. عالی بود

ارسال نظر

account_circle
mail
security
متن نظر :