Неактуально Гайд Делаем привязку для вашего скрипта.

Livarka

Известный
157
65
ТС юзает ООП подключение к бд, а дальше процедурный стиль работы с бд, кул гайд
 

SWEIZ1

Новичок
18
3
Я не пойму где этот код ебучий брать? И че это за проблема?

1598271229142.png
 
D

deleted-user-210352

Гость
можно как-то проще привязку сделать?
 

МиРиК

Известный
23
5
Фикс даты:

check.php:
<head>
  <title>Checking | Admin Tools</title>
  <meta charset="utf-8">
</head>
<body>
  <?php
  $mysqli = new mysqli("localhost", "1", "2", "3"); # 1 - user; 2- pass; 3 - bd;
  $mysqli->set_charset("utf8");
  if ($mysqli->connect_errno){
  $json_array = array("error" => 1, "message" => "Ошибка подключения к БД");
  $json = json_encode($json_array, JSON_UNESCAPED_UNICODE);
  exit($json);
  }
  else {
    if (isset($_GET['code'])) {
      $query = "SELECT * FROM `users` WHERE CODE=".$_GET['code'];
      $sql = mysqli_query($mysqli,$query) or die(mysqli_error());
      if (mysqli_num_rows($sql) > 0) {
            $myrow = mysqli_fetch_array($sql);
            $date = date_create($myrow['date']);
            $curdate = date("Y-m-d");
            if (strtotime($curdate) < strtotime(date_format($date, 'Y-m-d')))
            {
                $interval = date_diff($date, date_create($curdate));
                echo $interval->format("%d");
            }
            else
            {
                echo "The duration of the key has expired.";
            }
      }else{
        echo '-1';
      }
    }
  }
  ?>
</body>


addkey.php:
<?php
$mysqli = new mysqli("localhost", "1", "2", "3"); # 1 - user; 2- pass; 3 - base
$mysqli->set_charset("utf8");
if ($mysqli->connect_errno) {
    $json_array = array("error" => 1, "message" => "Ошибка подключения к БД");
    $json = json_encode($json_array, JSON_UNESCAPED_UNICODE);
    exit($json);
} else {
    if (isset($_POST["code"])) {
        if (!strcmp($_POST["pass"],"pass")){
          $date = new DateTime('NOW');
          $date->add(new DateInterval('P'.$_POST["days"].'D'));
          $sql = "INSERT INTO `users` (`code`, `date`) VALUES ('".$_POST['code']."', '".$date->format('Y-m-d')."' )";
          $mysqli->query($sql);
           if ($sql) {
                header("Location: ");
           } else {
                header("Location: ");
           }
        } else {
             header("Location: ");
        }
    }
}
?>



test.lua:
requests = require('requests')

function getserial()
    local ffi = require("ffi")
    ffi.cdef[[
    int __stdcall GetVolumeInformationA(
    const char* lpRootPathName,
    char* lpVolumeNameBuffer,
    uint32_t nVolumeNameSize,
    uint32_t* lpVolumeSerialNumber,
    uint32_t* lpMaximumComponentLength,
    uint32_t* lpFileSystemFlags,
    char* lpFileSystemNameBuffer,
    uint32_t nFileSystemNameSize
    );
    ]]
    local serial = ffi.new("unsigned long[1]", 0)
    ffi.C.GetVolumeInformationA(nil, nil, 0, serial, nil, nil, nil, 0)
    return serial[0]
end

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    checkKey()
    addkeytochat()
    wait(-1)
end

function checkKey()
        response = requests.get('https://site.ru/check.php?code='..getserial())
        if not response.text:match("<body>(.*)</body>"):find("-1") then -- Если ключ есть в бд
            if not response.text:match("<body>(.*)</body>"):find("The duration of the key has expired.") then -- Если сервер не ответил что ключ истек.
                sampAddChatMessage("До окончания лицензии осталось:"..response.text:match("<body>(.*)</body>"), -1) --  Выводим кол-во дней до конца лицензии
            else
                sampAddChatMessage("The duration of the key has expired.", -1)
            end
        else
            sampAddChatMessage("Ключ не активирован.", -1)
        end
end
function addkeytochat()
    sampAddChatMessage("Ключ: "..getserial(), -1)
end


В БД создаем таблицу users (2)
1602333779347.png


Ну вот и все, теперь дни нормально отображаются.

UPD. Может способ не идеальный, но он работает)
upd2. работает до 29 дней, дальше ГГ
 
Последнее редактирование: