PHPackages                             sajjadef98/visitors - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. sajjadef98/visitors

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

sajjadef98/visitors
===================

Advanced visitors analytics package with MysqliDb

v2.0.0(1y ago)13MITPHPPHP ^7.4|^8.0

Since Mar 13Pushed 1y ago1 watchersCompare

[ Source](https://github.com/sajjadef98/visitors)[ Packagist](https://packagist.org/packages/sajjadef98/visitors)[ RSS](/packages/sajjadef98-visitors/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

🌍 Language
----------

[](#-language)

[English](#english) | [فارسی](#farsi)

📊 Visitors Analytics Package
============================

[](#-visitors-analytics-package)

### پکیج تحلیل بازدیدکنندگان

[](#پکیج-تحلیل-بازدیدکنندگان)

📦 نصب
-----

[](#-نصب)

با استفاده از Composer:

```
composer require sajjadef98/visitors
```

⚙️ راه اندازی اولیه
-------------------

[](#️-راه-اندازی-اولیه)

### 1. ایجاد جدول دیتابیس

[](#1-ایجاد-جدول-دیتابیس)

```
CREATE TABLE `device_info` (
  `ip` int(11) NOT NULL AUTO_INCREMENT,
  `ip_address` varchar(45) COLLATE utf8_persian_ci DEFAULT NULL,
  `device_model` varchar(255) COLLATE utf8_persian_ci DEFAULT NULL,
  `phone_model` varchar(255) COLLATE utf8_persian_ci DEFAULT NULL,
  `user_agent` varchar(255) COLLATE utf8_persian_ci DEFAULT NULL,
  `url` varchar(255) COLLATE utf8_persian_ci DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`ip`)
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci
```

### 2. تنظیمات دیتابیس

[](#2-تنظیمات-دیتابیس)

```
require __DIR__.'/vendor/autoload.php';

use Visitors\Visitors;

$config = [
    'host'     => 'localhost',
    'username' => 'root',
    'password' => '',
    'db'       => 'your_database',
    'port'     => 3306,
    'prefix'   => '',
    'charset'  => 'utf8mb4',
    'errmode'  => 'exception'
];
```

### 3. مقداردهی اولیه

[](#3-مقداردهی-اولیه)

```
$url = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$visitors = new Visitors(new MysqliDb($config), $url);
```

🚀 نحوه استفاده
--------------

[](#-نحوه-استفاده)

### ردیابی بازدیدها (در هر صفحه):

[](#ردیابی-بازدیدها-در-هر-صفحه)

```
$tracker = new Visitors\Insert_User_Data(new MysqliDb($config));
$tracker->GUDI(); // ذخیره خودکار اطلاعات بازدید
```

### نمایش نمودار (در صفحه مدیریت):

[](#نمایش-نمودار-در-صفحه-مدیریت)

```
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $visitors->chartApi(); // خروجی JSON برای AJAX
    die();
}

if (isset($_GET)) {
    $visitors->chart(); // نمایش صفحه با نمودار
    die();
}
```

🔑 ویژگی‌های کلیدی
-----------------

[](#-ویژگی‌های-کلیدی)

- 📊 نمایش نمودارهای تعاملی با Chart.js
- 🌍 شناسایی موقعیت جغرافیایی
- 📱 تشخیص خودکار نوع دستگاه
- 🔒 سیستم امنیتی پیشرفته
- 📈 گزارش‌گیری حرفه‌ای

📄 لایسنس
--------

[](#-لایسنس)

این پروژه تحت لایسنس MIT منتشر شده است.

📦 Installation
--------------

[](#-installation)

Using Composer:

```
composer require sajjadef98/visitors
```

⚙️ Initial Setup
----------------

[](#️-initial-setup)

### 1. Create Database Table

[](#1-create-database-table)

```
CREATE TABLE `device_info` (
  `ip` int(11) NOT NULL AUTO_INCREMENT,
  `ip_address` varchar(45) COLLATE utf8_persian_ci DEFAULT NULL,
  `device_model` varchar(255) COLLATE utf8_persian_ci DEFAULT NULL,
  `phone_model` varchar(255) COLLATE utf8_persian_ci DEFAULT NULL,
  `user_agent` varchar(255) COLLATE utf8_persian_ci DEFAULT NULL,
  `url` varchar(255) COLLATE utf8_persian_ci DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`ip`)
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci
```

### 2. Database Configuration

[](#2-database-configuration)

```
require __DIR__.'/vendor/autoload.php';

use Visitors\Visitors;

$config = [
    'host'     => 'localhost',
    'username' => 'root',
    'password' => '',
    'db'       => 'your_database',
    'port'     => 3306,
    'prefix'   => '',
    'charset'  => 'utf8mb4',
    'errmode'  => 'exception'
];
```

### 3. Initialization

[](#3-initialization)

```
$url = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$visitors = new Visitors(new MysqliDb($config), $url);
```

🚀 Usage
-------

[](#-usage)

### Track Visits (on every page):

[](#track-visits-on-every-page)

```
$tracker = new Visitors\Insert_User_Data(new MysqliDb($config));
$tracker->GUDI(); // Auto-save visit data
```

### Display Charts (in admin panel):

[](#display-charts-in-admin-panel)

```
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $visitors->chartApi(); // JSON output for AJAX
    die();
}

if (isset($_GET)) {
    $visitors->chart(); // Display chart page
    die();
}
```

🔑 Key Features
--------------

[](#-key-features)

- 📊 Interactive Charts with Chart.js
- 🌍 Geolocation Tracking
- 📱 Automatic Device Detection
- 🔒 Advanced Security System
- 📈 Professional Reporting

📄 License
---------

[](#-license)

This project is licensed under the MIT License.

💖 حمایت/Support
---------------

[](#-حمایتsupport)

[![GitHub Stars](https://camo.githubusercontent.com/67a144815633c5369afb51aee4ef69499a86348278cb77e81e98ff1e4d26f22b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f73616a6a6164656639382f76697369746f72733f7374796c653d736f6369616c)](https://github.com/sajjadef98/visitors)

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance47

Moderate activity, may be stable

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

421d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7076f0e58bfeb0b9277906ebb5bbc16498f3385416c63ee802df658178dbd543?d=identicon)[eftekhari](/maintainers/eftekhari)

---

Top Contributors

[![sajjadef98](https://avatars.githubusercontent.com/u/64258914?v=4)](https://github.com/sajjadef98 "sajjadef98 (8 commits)")

---

Tags

trackinganalyticsmysqlivisitors

### Embed Badge

![Health badge](/badges/sajjadef98-visitors/health.svg)

```
[![Health](https://phpackages.com/badges/sajjadef98-visitors/health.svg)](https://phpackages.com/packages/sajjadef98-visitors)
```

###  Alternatives

[zumba/amplitude-php

PHP SDK for Amplitude

409.5M5](/packages/zumba-amplitude-php)[cornford/googlitics

An easy way to integrate Google Analytics with Laravel.

3310.2k](/packages/cornford-googlitics)[axllent/silverstripe-analytics-js

Google Universal Analytics tracking code for Silverstripe

1721.3k](/packages/axllent-silverstripe-analytics-js)[gosquared/php-sdk

1023.3k](/packages/gosquared-php-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
