Реализация системы подписки на сайте с проверкой ключа

krelex

Новичок
Пользователь
Июл 6, 2024
1
0
1
Я в python'e новичок да и в программировании. Столкнулся с проблемой, не могу понять логику как лучше написать код.
Запускаю код на Replit.com чтобы хостануть сайт. На сайте пользователь вводит ключ активации для моей программы, если такой ключ имеется в БД он выводит на сайте дату активации и окончания.
Python:
from flask import Flask, request, render_template
import sqlite3

app = Flask(__name__)

# Функция для установки соединения с базой данных SQLite
def get_db_connection():
    conn = sqlite3.connect('keys.db')
    conn.row_factory = sqlite3.Row
    return conn

# HTML код страницы
index_html = """
<!DOCTYPE html>
<html>
<head>
    <title>Активация</title>
    <style>
        body {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;
        }
        form {
            width: 300px;
            text-align: center;
            padding: 20px;
            border: 1px solid #ccc;
            border-radius: 5px;
        }
        input[type="text"], input[type="submit"] {
            width: 100%;
            padding: 10px;
            margin: 5px 0;
            box-sizing: border-box;
        }
        h1 {
            margin-bottom: 20px;
        }
    </style>
</head>
<body>
    <form action="/activate" method="post">
        <h1>Введите ключ активации:</h1>
        <input type="text" name="activation_key" required>
        <input type="submit" value="Активировать">
    </form>
</body>
</html>
"""

@app.route('/')
def index():
    return index_html

# Функция для проверки ключа активации в базе данных
def check_activation_key(key):
    conn = get_db_connection()
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM keys WHERE key = ?", (key,))
    key_data = cursor.fetchone()
    conn.close()
    return key_data

@app.route('/activate', methods=['POST'])
def activate():
    key = request.form.get('activation_key')
    key_data = check_activation_key(key)

    if key_data:
        return f"Ключ активации верный! Дата активации: {key_data['activation_date']}, Дата истечения: {key_data['expiration_date']}"
    else:
        return 'Ключ активации неверный!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)

Я не понимаю как мне реализовать код/новый код чтобы когда пользователь ввёл ключ, сайт отправлял запрос с добром в программу пользователя(которая ожидает ответа от сайта).
Подскажите какие-нибудь методы решения. Заранее спасибо

  1. Windows 11
  2. Python 3.9/3.10
 
-1

proxodnikst

Новичок
Пользователь
Июл 6, 2024
6
0
1
chatgpt
 
  • Злой!
Реакции: regnor

Форум IT Специалистов