图 3 用户登录
单击 “ 注册 ” 按钮就会进入 user/index.htm 页面执行;单击 “ 登录 ” 按钮时,如果数据表中用户名和密码存在就显示登录成功,并返回首页,否则弹出错误的提示信息。用来判断用户身份是否合法的代码如下:
Condb con=new Condb();
String login=request.getParameter("login");
if(login!=null&&login.equals(" 注册 ")){
response.sendRedirect("../user/index.htm");
}if(login!=null&&login.equals(" 登录 ")){
String username=request.getParameter("username");
String password=request.getParameter("password");
String sql="select * from tb_User
where Username='"+username+"' and Userpass='"+password+"'";
ResultSet rs=con.executeQuery(sql);
if(rs.next()){
session.setAttribute("username" , username);
session.setAttribute("password" , password);
%>
<script language="javascript">
alert(" 登录成功 ");
</script><%response.sendRedirect("../index.jsp");
}else{
%><script language="javascript">
alert(" 用户名或密码错误 ");
history.back();
</script>
</body>
系统先从数据库中检测提交的用户名和密码,如果存在就将其保存在 session 中,并提示 “ 登录成功 ” 。如果系统从数据库中找不到用户提交的用户名和密码,则提示 “ 用户名或密码错误 ” ,并返回到登录页面。
3.1.2 用户注册功能
系统提供了一个用户注册功能。系统是按 B/S 结构模块开发的,任何连接上 Internet 的人都可以通过网络访问本系统进行注册,这就会降低用户身份的真实性及信任度。为了防止用户恶意注册或者重复注册,检测用户名是否合法,系统是否已经存在此用户等是必须的。此界面实现的是对用户注册信息的验证以及保存,以实现新用户的注册。用户注册界面如图:
图 4 用户注册图
部分实现代码如下:
此界面接受新用户信息的输入并判断用户输入信息的合法性,用以保证用户信息录入的正确性及后台数据库的合法保存。
首先是检测用户是否按要求输入基本信息:
function check(){
if(form1.username.value= =""){
alert(" 请输入你的用户名 ");
form1.username.focus();
return false;
……
if(form1.password.value= =""){
alert(" 请输入你注册的密码 ");
form1.password.focus();
return false;
}
再对用户提交的数据进行数据库验证:
Date date=new Date();
Condb con=new Condb();
String username=request.getParameter("username");
……
String str="select Username from tb_User where Username='"+username+"'";
ResultSet rs=con.executeQuery(str);
if(rs.next()){
%>
如果系统中已经存在此用户,则系统提示 " 此用户已经被占用请重新注册 " ,并返回到注册页面。
<script language="javascript">
alert(" 此用户已经被占用请重新注册 ");
history.back();
</script>
<%
如果系统中不存在此用户名,则将用户信息提交到数据库保存,并提示用户 " 注册成功 " 。
String sql="insert into tb_User
(Username , Rname , Userpass , Email , Address , Phone , Question , Result , Dattime)values('"+usernam
e+"' , '"+Rname+"' , '"+password+"' , '"+email+"' , '"+address+"' , '"+photo+"' , '"+pass+"' , '"+qu
estion+"' , '"+date.toLocaleString()+"')";
int temp=con.executeUpdate(sql);
%>
<script language="javascript">
alert(" 注册成功 ");
window.location.href=("../index.jsp");
</script>
3.1.3 找回密码功能
用户很久没有登录系统可能会忘记密码,或者因为其他原因丢失了密码。密码丢失会给用户带来不必要的麻烦,如果没有一个密码回找功能提供给用户,那么用户只有重新注册一个新的用户或者不再使用此系统,这样不仅浪费用户的时间又浪费了系统的资源,还会造成此很多 “ 睡眠用户 ” 。如果用户记住了自己注册的用户名及电子邮箱名,并提供正确的密码提示问题的答案,就可以通过 “ 找回密码 ” 功能找回自己的密码。
此功能实现部分重要代码如下:
Condb con=new Condb();
String username=request.getParameter("username");
String email=request.getParameter("email");
String question=request.getParameter("question");
String result=request.getParameter("result");
String sql="select * from tb_User where Username='"+username+"' and
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页