概要
本节主要介绍对网站添加了用户登陆、注册等操作。
主要有以下几个部分:
1、在数据库中添加相关的表
2、注册部分以及注册的界面
3、登陆操作以及登陆的界面设计
4、非登陆的用户不能进行新闻查询
5、将用户操作写入日志
schema
在这个部分添加了两个表,用来存储用户信息与日志信息,其中用户信息表中,存储了用户名以及用户的密码,日志中存储了用户名、操作时间和具体操作
建表语句如下:
create table UserInfo (
id_user serial UNIQUE,
name varchar(20) DEFAULT NULL,
passwd vachar(20) DEFAULT NULL)
create table Logs(
id_log serial UNIQUE,
username varchar(20) DEFAULT NULL,
log_time date DEFAULT CURRENT_TIMESTAMP,
operation varchar(100) DEFAULT NULL)
用户注册部分
在这部分将介绍用户注册部分的界面以及注册的代码逻辑。
用户注册界面设计
设计了一个简单的用户注册界面,主要提供了输入用户名和密码部分的输入框以及一个注册按钮,代码在regist.html中。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册界面</title>
<script type="text/javascript" src="./script/login.js"></script>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<link rel="stylesheet" href="./stylesheets/regist.css">
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="box">
<h2>注册</h2>
<div class="input_box">
<p align="center">账号:
<input id="uname" type="text" name="user" placeholder="账号首字符为字母">
</p>
<p align="center">密码:
<input id="upass" type="password" name="psw" placeholder="请输入密码">
</p>
</div>
<div id="error_box"><br></div>
<div class="input_box">
<br>
<button onclick="Regist()" class="btn btn-primary">注册</button>
</div>
</div>
</div>
</body>
</html>
用户界面的css样式表在,regist.css中,分开进行存放。
*{
margin: 0;
padding: 0;
font-family: 微软雅黑;
font-size: 12px;
}
.box{
width: 390px;
height: 320px;
border: solid 1px #ddd;
background: #FFF;
position: absolute;
left: 50%;
top:42%;
margin-left: -195px;
margin-top: -160px;
text-align: center;
}
.box h2{
font-weight: normal;
color:#666;
font-size: 16px;
line-height: 40px;
overflow: hidden;
text-align: center;
border-bottom: solid 1px #ddd;
background: #f7f7f7;
}
.input_box{
width:350px;
padding-bottom: 15px;
margin: 0 auto;
overflow: hidden;
}
界面如下图所示:
用户注册
在点击注册按钮之后,会调用Regist函数,函数全部存储在login.js中。
会先检查用户名以及用户密码的长度,是否符合规范,如果不符合,则会进行提示,并且之间返回。代码如下:
var oUname = document.getElementById("uname");
var oUpass = document.getElementById("upass");
var oError = document.getElementById("error_box")
var