آموزش ساخت سیستم مدیریت بازدیدها با PHP
سیستم مدیریت بازدیدها یکی از ابزارهای ضروری برای هر وبسایتی است. این سیستم به شما کمک میکند تا تعداد بازدیدکنندگان، صفحات پربازدید، زمان بازدید و سایر اطلاعات مهم را جمعآوری و تحلیل کنید. در این مقاله، به آموزش گام به گام ساخت یک سیستم مدیریت بازدیدها با استفاده از PHP خواهیم پرداخت. این سیستم به گونهای طراحی شده است که ساده، قابل فهم و قابل توسعه باشد.
پیشنیازها
قبل از شروع، اطمینان حاصل کنید که پیشنیازهای زیر را دارید:
- یک سرور وب (مانند Apache یا Nginx)
- PHP نصب شده روی سرور
- یک پایگاه داده (مانند MySQL یا MariaDB)
- دانش پایه PHP و SQL
مرحله اول: طراحی پایگاه داده
برای ذخیره اطلاعات بازدیدها، به یک پایگاه داده نیاز داریم. یک جدول به نام visits ایجاد کنید که شامل ستونهای زیر باشد:
id: شناسه یکتا برای هر بازدید (INT, AUTO_INCREMENT, PRIMARY KEY)page_url: آدرس صفحهای که بازدیدکننده از آن بازدید کرده است (VARCHAR(255))ip_address: آدرس IP بازدیدکننده (VARCHAR(45))user_agent: رشته User Agent مرورگر بازدیدکننده (TEXT)visit_time: زمان بازدید (TIMESTAMP)referrer: آدرس صفحهای که بازدیدکننده از آن به وبسایت شما آمده است (VARCHAR(255))
کد SQL برای ایجاد جدول:
CREATE TABLE visits (
id INT AUTO_INCREMENT PRIMARY KEY,
page_url VARCHAR(255) NOT NULL,
ip_address VARCHAR(45) NOT NULL,
user_agent TEXT,
visit_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
referrer VARCHAR(255)
);
مرحله دوم: ایجاد فایل PHP برای ثبت بازدید
یک فایل PHP به نام visit.php ایجاد کنید که وظیفه ثبت بازدیدها را بر عهده دارد. این فایل باید اطلاعات زیر را دریافت کند:
- آدرس صفحه (
page_url) - آدرس IP بازدیدکننده (
ip_address) - رشته User Agent مرورگر بازدیدکننده (
user_agent) - آدرس ارجاع (
referrer)
کد PHP برای فایل visit.php:
connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// دریافت اطلاعات از درخواست
$page_url = $_SERVER['REQUEST_URI'];
$ip_address = $_SERVER['REMOTE_ADDR'];
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
// آمادهسازی کوئری SQL
$sql = "INSERT INTO visits (page_url, ip_address, user_agent, referrer) VALUES ('$page_url', '$ip_address', '$user_agent', '$referrer')";
// اجرای کوئری
if ($conn->query($sql) === TRUE) {
// موفقیتآمیز
} else {
// خطا
error_log("Error: " . $sql . "
" . $conn->error);
}
$conn->close();
?>
نکته مهم: به جای username، password و database_name، اطلاعات اتصال به پایگاه داده خود را وارد کنید.
مرحله سوم: فراخوانی فایل PHP در صفحات وبسایت
برای ثبت بازدیدها در هر صفحه وبسایت، باید فایل visit.php را در بالای هر صفحه فراخوانی کنید. این کار را میتوانید با استفاده از کد زیر انجام دهید:
<?php include 'visit.php'; ?>
این کد را در بالای هر صفحه HTML وبسایت خود قرار دهید، قبل از هر محتوای دیگری.
مرحله چهارم: ایجاد فایل PHP برای نمایش آمار بازدیدها
یک فایل PHP به نام stats.php ایجاد کنید که وظیفه نمایش آمار بازدیدها را بر عهده دارد. این فایل میتواند اطلاعاتی مانند تعداد کل بازدیدها، تعداد بازدیدهای امروز، صفحات پربازدید و غیره را نمایش دهد.
کد PHP برای فایل stats.php:
<?php
// اتصال به پایگاه داده
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// محاسبه تعداد کل بازدیدها
$sql_total_visits = "SELECT COUNT(*) AS total_visits FROM visits";
$result_total_visits = $conn->query($sql_total_visits);
$total_visits = $result_total_visits->fetch_assoc()['total_visits'];
// محاسبه تعداد بازدیدهای امروز
$today = date("Y-m-d");
$sql_today_visits = "SELECT COUNT(*) AS today_visits FROM visits WHERE DATE(visit_time) = '$today'";
$result_today_visits = $conn->query($sql_today_visits);
$today_visits = $result_today_visits->fetch_assoc()['today_visits'];
// محاسبه صفحات پربازدید
$sql_popular_pages = "SELECT page_url, COUNT(*) AS visit_count FROM visits GROUP BY page_url ORDER BY visit_count DESC LIMIT 5";
$result_popular_pages = $conn->query($sql_popular_pages);
$conn->close();
?>
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>آمار بازدیدها</title>
</head>
<body>
<h1>آمار بازدیدها</h1>
<p>تعداد کل بازدیدها: <?php echo $total_visits; ?></p>
<p>تعداد بازدیدهای امروز: <?php echo $today_visits; ?></p>
<h2>صفحات پربازدید:</h2>
<ul>
<?php
while($row = $result_popular_pages->fetch_assoc()) {
echo "<li>" . $row['page_url'] . " - " . $row['visit_count'] . "</li>";
}
?>
</ul>
</body>
</html>
نکته مهم: به جای username، password و database_name، اطلاعات اتصال به پایگاه داده خود را وارد کنید.
مرحله پنجم: دسترسی به آمار بازدیدها
برای دسترسی به آمار بازدیدها، کافی است فایل stats.php را از طریق مرورگر وب خود باز کنید. به عنوان مثال، اگر فایل stats.php در ریشه وبسایت شما قرار دارد، میتوانید با وارد کردن آدرس http://yourdomain.com/stats.php به آن دسترسی پیدا کنید.
بهبود و توسعه سیستم
سیستم مدیریت بازدیدهای ایجاد شده در این مقاله، یک سیستم پایه است. میتوانید با افزودن ویژگیهای زیر، آن را بهبود و توسعه دهید:
- ذخیره اطلاعات بیشتر در مورد بازدیدکنندگان (مانند سیستم عامل، مرورگر و غیره)
- ایجاد نمودارها و گزارشهای تصویری
- پیادهسازی سیستم تشخیص رباتها
- ذخیره اطلاعات بازدیدها در فایلهای لاگ
- استفاده از کوکیها برای شناسایی بازدیدکنندگان منحصر به فرد
نکات امنیتی
هنگام ساخت سیستم مدیریت بازدیدها، به نکات امنیتی زیر توجه کنید:
- از توابع امنیتی PHP برای جلوگیری از حملات SQL Injection استفاده کنید.
- اطلاعات حساس را رمزگذاری کنید.
- دسترسی به فایل
stats.phpرا محدود کنید تا فقط افراد مجاز بتوانند به آن دسترسی پیدا کنند. - بهطور منظم پایگاه داده خود را پشتیبانگیری کنید.
با رعایت این نکات، میتوانید یک سیستم مدیریت بازدیدها امن و قابل اعتماد ایجاد کنید.
