实现用户登录,用户个人信息修改,密码修改代码怎么写
时间: 2023-07-07 22:16:11 浏览: 81
这个问题涉及到前端和后端的代码,需要分别编写。下面给出一个简单的示例代码,供您参考。
前端代码:
用户登录:
```html
<form>
<label>账号:</label>
<input type="text" id="username" name="username"><br><br>
<label>密码:</label>
<input type="password" id="password" name="password"><br><br>
<input type="button" value="登录" onclick="login()">
</form>
<script>
function login() {
// 获取账号和密码
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
// 发送账号和密码到后端
fetch('/login', {
method: 'POST',
body: JSON.stringify({username: username, password: password}),
headers: {'Content-Type': 'application/json'}
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert("登录成功");
// TODO: 跳转到主页
} else {
alert("登录失败: " + data.message);
}
})
.catch(error => console.error('Error:', error));
}
</script>
```
用户个人信息修改:
```html
<form>
<label>姓名:</label>
<input type="text" id="name" name="name"><br><br>
<label>性别:</label>
<input type="radio" id="gender" name="gender" value="male">男
<input type="radio" id="gender" name="gender" value="female">女<br><br>
<input type="button" value="保存" onclick="saveUserInfo()">
</form>
<script>
function saveUserInfo() {
// 获取用户信息
var name = document.getElementById("name").value;
var gender = document.querySelector('input[name="gender"]:checked').value;
// 发送用户信息到后端
fetch('/updateUserInfo', {
method: 'POST',
body: JSON.stringify({name: name, gender: gender}),
headers: {'Content-Type': 'application/json'}
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert("保存成功");
} else {
alert("保存失败: " + data.message);
}
})
.catch(error => console.error('Error:', error));
}
</script>
```
密码修改:
```html
<form>
<label>旧密码:</label>
<input type="password" id="oldPassword" name="oldPassword"><br><br>
<label>新密码:</label>
<input type="password" id="newPassword" name="newPassword"><br><br>
<input type="button" value="修改" onclick="changePassword()">
</form>
<script>
function changePassword() {
// 获取旧密码和新密码
var oldPassword = document.getElementById("oldPassword").value;
var newPassword = document.getElementById("newPassword").value;
// 发送旧密码和新密码到后端
fetch('/changePassword', {
method: 'POST',
body: JSON.stringify({oldPassword: oldPassword, newPassword: newPassword}),
headers: {'Content-Type': 'application/json'}
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert("密码修改成功");
} else {
alert("密码修改失败: " + data.message);
}
})
.catch(error => console.error('Error:', error));
}
</script>
```
后端代码(使用Node.js和Express框架):
用户登录:
```javascript
const express = require('express');
const app = express();
app.use(express.json()); // 解析JSON请求体
app.post('/login', (req, res) => {
const username = req.body.username;
const password = req.body.password;
// TODO: 查询数据库验证账号和密码是否正确
if (username === 'admin' && password === 'admin') {
res.json({success: true});
} else {
res.json({success: false, message: '账号或密码错误'});
}
});
app.listen(3000, () => console.log('服务器已启动...'));
```
用户个人信息修改:
```javascript
const express = require('express');
const app = express();
app.use(express.json()); // 解析JSON请求体
app.post('/updateUserInfo', (req, res) => {
const name = req.body.name;
const gender = req.body.gender;
// TODO: 验证用户身份
// TODO: 更新用户信息到数据库
res.json({success: true});
});
app.listen(3000, () => console.log('服务器已启动...'));
```
密码修改:
```javascript
const express = require('express');
const app = express();
app.use(express.json()); // 解析JSON请求体
app.post('/changePassword', (req, res) => {
const oldPassword = req.body.oldPassword;
const newPassword = req.body.newPassword;
// TODO: 验证用户身份
// TODO: 验证旧密码是否正确
// TODO: 更新用户密码到数据库
res.json({success: true});
});
app.listen(3000, () => console.log('服务器已启动...'));
```
以上代码只是一个简单的示例,实际应用中需要根据具体需求进行修改和完善。
阅读全文