小飞资源网-免费提供绿色软件、活动线报以及其他网络资源,好货不私藏,网络爱好者聚集地
广告招租/1月1日 广告招租/1月1日 广告招租/1月1日
广告招租/1月1日 广告招租/1月1日

大神叫你如何写一套完整的激活码查询系统,包括前段和后端

小飞资源网 源码教程

按照我说的做来创建一个前端界面和PHP后端代码,以及MySQL数据库结构。


首先,让我们创建前端界面:

```typescriptreact project="activation-code-system"
...
```

现在,让我们创建后端PHP文件:

1. config.php


```php
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'your_username');
define('DB_PASS', 'your_password');
define('DB_NAME', 'activation_codes');
?>
```

2. db.php


```php
<?php
require_once 'config.php';

function db_connect() {
    $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    return $conn;
}

function db_query($sql) {
    $conn = db_connect();
    $result = $conn->query($sql);
    $conn->close();
    return $result;
}

function db_escape($value) {
    $conn = db_connect();
    $escaped = $conn->real_escape_string($value);
    $conn->close();
    return $escaped;
}
?>
```

3. check-code.php


```php
<?php
require_once 'db.php';

header('Content-Type: application/json');

$data = json_decode(file_get_contents('php://input'), true);
$code = db_escape($data['code']);

$sql = "SELECT * FROM activation_codes WHERE code = '$code'";
$result = db_query($sql);

if ($result->num_rows > 0) {
    $row = $result->fetch_assoc();
    if ($row['is_used'] == 0) {
        echo json_encode(['message' => '激活码有效,可以使用。']);
    } else {
        echo json_encode(['message' => '激活码已被使用。']);
    }
} else {
    echo json_encode(['message' => '无效的激活码。']);
}
?>
```

4. admin-login.php


```php
<?php
session_start();
header('Content-Type: application/json');

$data = json_decode(file_get_contents('php://input'), true);
$username = $data['username'];
$password = $data['password'];

if ($username === 'admin' && $password === 'admin') {
    $_SESSION['admin_logged_in'] = true;
    echo json_encode(['success' => true]);
} else {
    echo json_encode(['success' => false]);
}
?>
```

5. admin-list-codes.php


```php
<?php
session_start();
require_once 'db.php';

header('Content-Type: application/json');

if (!isset($_SESSION['admin_logged_in']) || $_SESSION['admin_logged_in'] !== true) {
    echo json_encode(['error' => 'Unauthorized']);
    exit;
}

$sql = "SELECT * FROM activation_codes";
$result = db_query($sql);

$codes = [];
while ($row = $result->fetch_assoc()) {
    $codes[] = $row;
}

echo json_encode(['codes' => $codes]);
?>
```

6. admin-add-code.php


```php
<?php
session_start();
require_once 'db.php';

header('Content-Type: application/json');

if (!isset($_SESSION['admin_logged_in']) || $_SESSION['admin_logged_in'] !== true) {
    echo json_encode(['error' => 'Unauthorized']);
    exit;
}

$data = json_decode(file_get_contents('php://input'), true);
$code = db_escape($data['code']);

$sql = "INSERT INTO activation_codes (code, is_used) VALUES ('$code', 0)";
db_query($sql);

echo json_encode(['success' => true]);
?>
```

7. admin-delete-code.php


```php
<?php
session_start();
require_once 'db.php';

header('Content-Type: application/json');

if (!isset($_SESSION['admin_logged_in']) || $_SESSION['admin_logged_in'] !== true) {
    echo json_encode(['error' => 'Unauthorized']);
    exit;
}

$data = json_decode(file_get_contents('php://input'), true);
$id = intval($data['id']);

$sql = "DELETE FROM activation_codes WHERE id = $id";
db_query($sql);

echo json_encode(['success' => true]);
?>
```

最后,创建数据库和表:

```sql
CREATE DATABASE activation_codes;
USE activation_codes;

CREATE TABLE activation_codes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    code VARCHAR(50) UNIQUE NOT NULL,
    is_used TINYINT(1) DEFAULT 0
);
```

设置说明:

1. 将所有PHP文件上传到您的Web服务器。
2. 在config.php中更新数据库连接信息。
3. 在您的MySQL数据库中执行上述SQL语句来创建数据库和表。
4. 将React项目构建并部署到您的Web服务器。
5. 配置您的Web服务器,将API请求路由到相应的PHP文件。


这个系统提供了以下功能:

- 前端查询页面:用户可以输入激活码并查询其有效性。
- 后台管理系统:管理员可以添加新的激活码、查看所有激活码、删除激活码。


请注意,这个系统使用了基本的安全措施,但在实际生产环境中,您可能需要添加更多的安全特性,如密码加密、更复杂的身份验证机制等。

如果您需要进一步的帮助或有任何问题,请随时询问小飞。

免责声明:

本站提供的网络资源,都来自网络用户及匿名投稿,版权与利益争议一概与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载和浏览后的24个小时之内,从您的电脑/手机中彻底删除或退出上述内容。如果您喜欢该内容,可以支持本站且随时关注后续发布的精彩内容。

评论列表