用CSS,JS,html写一个用户注册登入系统,要可以数据保存到本地,注册登入系统要有渲染,美观
时间: 2024-03-27 17:36:28 浏览: 109
好的,这是一个比较大的项目,需要综合运用 HTML、CSS、JavaScript 和后端技术,我会尽可能地给你提供一些思路和代码片段,但不保证完整的实现。
首先,我们需要设计一个用户注册与登陆的页面,可以使用 Bootstrap 等 CSS 框架来实现美化,HTML 代码如下:
```html
<div class="container">
<h1>User Login & Registration</h1>
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#login">Login</a></li>
<li><a data-toggle="tab" href="#register">Register</a></li>
</ul>
<div class="tab-content">
<div id="login" class="tab-pane fade in active">
<form>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" class="form-control" id="email" placeholder="Enter email">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd" placeholder="Enter password">
</div>
<button type="submit" class="btn btn-default">Login</button>
</form>
</div>
<div id="register" class="tab-pane fade">
<form>
<div class="form-group">
<label for="name">Name:</label>
<input type="text" class="form-control" id="name" placeholder="Enter name">
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" class="form-control" id="email" placeholder="Enter email">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd" placeholder="Enter password">
</div>
<button type="submit" class="btn btn-default">Register</button>
</form>
</div>
</div>
</div>
```
接着,我们需要编写 JavaScript 代码来实现数据的保存和渲染。可以使用 localStorage 来实现本地数据的保存,代码如下:
```javascript
// 用户注册信息
var users = [];
// 加载本地数据
if (localStorage.getItem("users")) {
users = JSON.parse(localStorage.getItem("users"));
}
// 注册
function register() {
var name = $("#name").val();
var email = $("#email").val();
var pwd = $("#pwd").val();
users.push({
name: name,
email: email,
pwd: pwd
});
localStorage.setItem("users", JSON.stringify(users));
alert("Registration successful!");
}
// 登陆
function login() {
var email = $("#email").val();
var pwd = $("#pwd").val();
for (var i = 0; i < users.length; i++) {
if (users[i].email == email && users[i].pwd == pwd) {
alert("Login successful!");
return;
}
}
alert("Email or password is incorrect!");
}
// 渲染页面
function render() {
var html = "";
for (var i = 0; i < users.length; i++) {
html += "<tr><td>" + users[i].name + "</td><td>" + users[i].email + "</td></tr>";
}
$("#user-table tbody").html(html);
}
// 页面加载完成后执行
$(function() {
render();
});
```
最后,我们需要使用后端技术来实现数据的服务器端保存和访问。这里可以使用 Node.js 和 Express 框架。具体实现方式可以参考以下代码:
```javascript
// 引入依赖模块
var express = require("express");
var bodyParser = require("body-parser");
var fs = require("fs");
// 创建 Express 应用
var app = express();
// 解析 HTTP 请求体
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// 静态文件访问
app.use(express.static("public"));
// 用户注册信息
var users = [];
// 加载本地数据
if (fs.existsSync("users.json")) {
users = JSON.parse(fs.readFileSync("users.json"));
}
// 注册接口
app.post("/register", function(req, res) {
var name = req.body.name;
var email = req.body.email;
var pwd = req.body.pwd;
users.push({
name: name,
email: email,
pwd: pwd
});
fs.writeFileSync("users.json", JSON.stringify(users));
res.json({
success: true,
message: "Registration successful!"
});
});
// 登陆接口
app.post("/login", function(req, res) {
var email = req.body.email;
var pwd = req.body.pwd;
for (var i = 0; i < users.length; i++) {
if (users[i].email == email && users[i].pwd == pwd) {
res.json({
success: true,
message: "Login successful!"
});
return;
}
}
res.json({
success: false,
message: "Email or password is incorrect!"
});
});
// 获取用户列表接口
app.get("/users", function(req, res) {
res.json(users);
});
// 启动服务
app.listen(3000, function() {
console.log("Server is running at http://localhost:3000/");
});
```
以上代码涉及到了前端、后端、数据库等多个方面,需要综合考虑。如果你对某一方面的知识不熟悉,可以先学习相关的知识再来实践这个项目。
阅读全文