# 小型Web应用登录验证系统实现


背景介绍

随着应用需求的不断增长,验证登录功能成为系统核心功能之一。本项目采用HTML/CSS/JavaScript框架实现表单验证功能,通过本地存储保存用户数据,确保应用可运行且数据持久化。项目独立部署于本地服务器,无需依赖数据库或外部服务,实现轻量级部署。

思路分析

本项目的核心需求包括:
1. 用户输入验证:验证密码的正确性,确保输入符合系统规则;
2. 本地数据存储:通过localStorage保存用户信息,便于后续数据交互;
3. 界面交互:实现表单验证逻辑,显示验证结果。

本项目采用简单数据结构(如字典)保存用户信息,利用HTML/CSS结构化表单,通过JavaScript实现验证逻辑和数据存储。

代码实现

HTML表单验证

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>登录验证</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      text-align: center;
      padding: 20px;
    }
    h1 {
      color: #333;
    }
    input, button {
      width: 100%;
      padding: 10px;
    }
    #result {
      margin-top: 10px;
      font-weight: bold;
    }
  </style>
</head>
<body>
  <h1>登录验证</h1>

  <form id="login-form" onsubmit="validateLogin()">
    <label for="username">用户名:</label>
    <input type="text" id="username" placeholder="admin" required>

    <label for="password">密码:</label>
    <input type="password" id="password" placeholder="123456" required>

    <button type="submit">登录</button>

    <p id="result"></p>
  </form>

  <script>
    function validateLogin() {
      const username = document.getElementById('username').value;
      const password = document.getElementById('password').value;

      if (username.trim() === 'admin' && password.trim() === '123456') {
        alert('登录成功!当前用户状态为:');
        document.getElementById('result').textContent = '成功';
        localStorage.setItem('user', JSON.stringify({ username, password }));
      } else {
        alert('登录失败!密码错误');
        document.getElementById('result').textContent = '错误';
        localStorage.setItem('user', JSON.stringify({ username, password }));
      }
    }
  </script>
</body>
</html>

JavaScript验证逻辑

function validateLogin() {
  const username = document.getElementById('username').value;
  const password = document.getElementById('password').value;

  if (username.trim() === 'admin' && password.trim() === '123456') {
    alert('登录成功!当前用户状态为:');
    document.getElementById('result').textContent = '成功';
    localStorage.setItem('user', JSON.stringify({ username, password }));
  } else {
    alert('登录失败!密码错误');
    document.getElementById('result').textContent = '错误';
    localStorage.setItem('user', JSON.stringify({ username, password }));
  }
}

数据保存与读取

import pickle

def save_user_data(username, password):
    with open('user_data.pickle', 'wb') as f:
        pickle.dump({ 'username': username, 'password': password }, f)

def load_user_data():
    try:
        with open('user_data.pickle', 'rb') as f:
            data = pickle.load(f)
            return data
    except Exception as e:
        raise Exception("Failed to load user data")

# 示例
save_user_data('admin', '123456')
user_info = load_user_data()
print("用户信息:", user_info)

总结

本项目实现了用户输入验证、表单验证和本地数据存储功能,通过HTML/CSS结构化表单,结合JavaScript验证逻辑,将用户数据保存到本地存储。项目满足独立部署要求,核心功能实现完整,具备良好的可维护性和可扩展性。技术实现中,使用了文件读写(pickle)和数据结构(字典)作为本地存储机制,确保数据持久性。整个项目实现了轻量级Web应用的核心功能,适合作为中级开发者的参考案例。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注