asp登录页面的代码 ASP.net登录界面
大家好,asp登录页面的代码相信很多的网友都不是很明白,包括ASP.net登录界面也是一样,不过没有关系,接下来就来为大家分享关于asp登录页面的代码和ASP.net登录界面的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
如何在网页中用asp做登录和注册希望给出代码。
第一建数据库:db.mdb
建数据表 user
添加如下字段:
字段 id自动编号
username用户名
password用户密码
第二建立数据库链接页面 conn.asp
代码如下:
StrSQL="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.mappath("db.mdb")
set conn=server.createobject("ADODB.Connection")
conn.open StrSQL
第三建立添加用户页面 user_add.asp代码如下:
<!--#include file="conn.asp"-->
<form name="add" method="post" action="user_add.asp?act=add">
<input type="text" name="name">
<input type="password" name="password">
<input type="submit" name="Submit" value="注册">
</form>
<!--------------注册处理代码------------------------>
<%
if request.Form("act")="add" then
name=request.form("name")
password=request.form("password")
if name="" and password="" then
Response.write("<script>alert('用户名和密码不能为空');location.href='admin_user_add.asp'</script>")
Response.End
end if
set rs=server.CreateObject("ADODB.RecordSet")
set rst=server.CreateObject("ADODB.RecordSet")
sql1="select* from user"
rst.open sql1,conn,1,1
if name=rst("username") then
Response.write("<script>alert('该用户已存在,请重新填写');location.href='user_add.asp'</script>")
response.End()
end if
rst.close
sql="user"
rs.open sql,conn,1,3
rs.addnew
rs("username")=name
rs("password")=password
rs.update
rs.close
set rs=nothing
set myerrors=conn.errors
if myerrors.count=0 then
Response.write("<script>alert('注册成功');location.href='user_add.asp'</script>")
else
msgboxu"注册失败!原因:"
Response.write("<script>alert('注册失败!原因:"&myerrors.item(0).description&"');location.href='user_add.asp'</script>")
end if
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
<!--------------注册处理结束------------------------>
第四登录页面:login.asp
<form action="login.asp?act=dengl" method="post">
登陆名称:<input name="name" type="TEXT">
登录密码:<input name="password" TYPE="PASSWORD">
<input type="submit" name="submit" value="登陆">
</form>
<!----------登录处理代码---------------------->
<!--#include file="conn.asp"-->
<%
if request.querystring("act")="dengl" then
if(request("name")="" and request("password")="") then
response.write("请输入用户名和密码!")
else
set rs=server.CreateObject("ADODB.RecordSet")
rs.open"select* from user where name='"& request("name")&"' and password='"&request("password")&"'",conn,1
if rs.eof and rs.bof then
response.write"<SCRIPT language=JavaScript>alert('用户名或密码不正确!');"
response.write"javascript:history.go(-1)</SCRIPT>"
response.end
else
session("name")=rs("name")
session("password")=rs("password")
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
<!----------登录处理代码结束---------------------->
所有页面文件都放在同一个目录下面即可运行了。。。。
设计一个用户登录页面login.asp
这是我写的一个信息管理系统的登录模块。登录模块和验证密码模块(check)放在了一起。希望对你有帮助。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="../inc/conn.asp"-->
<!--#include file="../inc/function.asp"-->
<%
Response.expires= 0
Response.expiresabsolute= Now()- 1
Response.addHeader"pragma","no-cache"
Response.addHeader"cache-control","private"
Response.cachecontrol="no-cache"
If Request("action")="logout" Then
session("username")=""
session("password")=""
session("classid")=""
session("userlevel")=""
Response.Redirect"../index.asp"
End If
dim username,password,rs,sql,action,yz
set rs=server.createobject("adodb.recordset")
action=trim(request("action"))
yz=request("yz")
If not IsNumeric(Request.Form("yz")) Then
call showErr("你输入的验证码为非数字!")
End If
if isempty(action) or isnull(action) then
response.redirect"admin_login.asp?action='displayFrm'"
end if
select case action
case"login"
call login()
case displayFrm
call LoginFrm()
case else
call LoginFrm()
end select
sub login()
if request("username")="" or request("password")="" or request("yz")="" then
call showErr("请输入正确的的用户名或密码或验证码!")
end if
If(int(Session("GetCode"))=int(Request.Form("yz"))) Then
username=trim(request("username"))
admin_password=trim(request("password"))
username=ProtectSQL(username)
admin_password=ProtectSQL(admin_password)
sql="select* from gradeweb_user where username='"&username&"' and password='"&admin_password&"'"
rs.open sql,conn,3,1
if not(rs.eof and rs.bof) then
if rs("classid")<>"0" then
'如果不是超管,则连接查询班级信息
rs.close
sql="select A.classid,A.userlevel,B.classname,B.gradename,A.username,A.password from gradeweb_user as A INNER JOIN gradeweb_class as B on A.classid=B.classid where A.username='"&username&"'"
sql=sql&" and A.[password]='"&admin_password&"'"
rs.open sql,conn,3,1
end if
else
call showErr("用户名或密码不正确,请认真查证后再输入!")
end if
if rs.eof and rs.bof then
call showErr("用户名\密码不正确,请认真查证后再输入!")
elseif rs("userlevel")="0" then
session.timeout=60
session("userlevel")="0"
session("username")=username
response.Redirect"admin_index.asp"
else
session.timeout=60
session("classid")=rs(0)
session("userlevel")=rs(1)
session("username")=username
session("classname")=rs(2)
session("gradename")=rs(3)
response.redirect"admin_index.asp"
end if
else
call showErr("输入的验证码错误,建议设置浏览器接受COOKIE的安全级别!")
end if
rs.close
end sub
sub LoginFrm()
%>
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""">
<html xmlns="">
<head>
<link rel="stylesheet" rel="external nofollow" href="images/admin/style.css" type="text/css"/>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>GradeWeb登陆窗口</title>
<script language=javascript>
function CheckLoginFrm()
{
if(document.form1.username.value=="")
{
document.form1.username.focus();
lbluser.innerHTML="<font color=red>用户名不能为空!</font>";
return false;
}
else if(document.form1.password.value=="")
{
document.form1.Password.focus();
lblpass.innerHTML="<font color=red>密码不能为空!</font>";
return false;
}
else if(document.form1.yz.value=="")
{
document.form1.yz.focus();
lblpass.innerHTML="<font color=red>验证码不能为空!</font>";
return false;
}
else return true;
}
</script>
</head>
<html>
<body>
<form id="form1" name="form1" method="post" action="admin_login.asp">
<table width="472" border="1" align="center" cellpadding="5" cellspacing="1" bgcolor="#BFDFFF" id="table2" style="border-collapse: collapse; margin-top:50px;">
<tr id=TableTitle2>
<td colspan="2" valign="middle">管理员登录</td>
</tr>
<tr>
<td width="97">用户名</td>
<td width="346"><input name="username" type="text" size="24" maxlength="16"/><label id="lbluser"></label>
</td>
</tr>
<tr>
<td>密码</td>
<td><input name="password" type="password" size="24"/><label id="lblpass"></label>
</td>
</tr>
<tr>
<td>验证码</td>
<td><input name="yz" type="text" size="4"/>
<img src="GetCode.asp" onclick="this.src='GetCode.asp'"/></td>
</tr>
<tr>
<td colspan="2"><input name="action" type="hidden" value="login"/>
<input name="reset" type="reset" id="reset" value="重写" class=btn/>
<input name="Submit" type="submit" id="Submit" value="确定" class=btn onclick="javascript:return CheckLoginFrm()"/><label id="lblyz"></label>
</td>
</tr>
</table>
</form>
</body>
</html>
<%end sub%>
asp 设计网站的登录系统
1,先建立一个数据库UserTest。
2,在里面建立一个表叫UsersTable,设计表,建立三个列:u_id, u_name, u_pwd。
3,u_id是int数据类型,自增1;u_name是nvarchar类型,长度12;u_pwd是varchar类型,长度12,然后保存该表。
4,打开表,在第一行u_name输入“abc”,u_pwd输入“abc”。关闭表。
5,打开VS,新建一个Web项目。双击默认的default.aspx页面,然后将<body>...</body>替换成下面的代码:
HTML code
<!--替换-->
<body style="margin: 0px">
<form id="form1" runat="server">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 50px">
<tr>
<td style="vertical-align: middle; width: 50%; text-align: center; font-weight: bold; font-size: 25px; color:#003366; font-family: Arial;">yunleizhilian的登录示范</td>
<td style="vertical-align: middle; text-align: left">
<asp:Panel ID="pnlLogin" runat="server" Height="30px" Width="100%">
用户名:<asp:TextBox ID="txbUserName" runat="server"></asp:TextBox>密码:
<!--对于密码TextBox,应把TextMode属性设置为Password,这样输入的值会以****形式出现,保护密码在输入时不被别人看到-->
<asp:TextBox ID="txbUserPassword" runat="server" TextMode="Password"></asp:TextBox>
<asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click"/></asp:Panel>
<asp:Panel ID="pnlWelcome" runat="server" Height="30px" Width="100%">
<asp:Label ID="lblWelcome" runat="server"></asp:Label>
<asp:Button ID="btnQuit" runat="server" CausesValidation="False" Text="退出" Width="146px" OnClick="btnQuit_Click"/></asp:Panel>
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 100px">
<tr>
<td style="vertical-align: middle; text-align: center">
<!--这个用来显示登录是否成功的信息-->
<asp:Label ID="lblMessage" runat="server" ForeColor="#C00000"></asp:Label></td>
</tr>
</table>
</form>
</body>
<!--替换结束-->
6,按F7,进入代码视图,在Page_Load()里写下面的代码:
C# code
protected void Page_Load(object sender, EventArgs e)
{
//确保页面是第一次被访问
if(!Page.IsPostBack)
{
CheckPageStatus();
}
}
//通过判断Session["UserName"]是否为空检查页面是否已登录(登录成功时会为Session["UserName"]注入值,就不空了。。否则就认为没有登录)。
private void CheckPageStatus()
{
if(Session["UserName"]!= null)
{
pnlLogin.Visible= false;
pnlWelcome.Visible= true;
lblWelcome.Text="欢迎登录,"+ Session["UserName"].ToString()+"同志";
}
else
{
pnlWelcome.Visible= false;
pnlLogin.Visible= true;
}
//这个用来接收登录或退出后的信息。个人习惯,你也可以不这么做。
if(Session["Message"]!= null)
{
lblMessage.Text= Session["Message"].ToString();
Session.Remove("Message");
}
else
lblMessage.Text="";
}
7,先告一段落,按F5运行下,看看效果,你会发现当没有登录时,“退出”那部分没有显示。真神奇啊。
8,然后关闭这个IE页面,按VS左下角的“设计”,切换到设计视图。
9,双击设计视图的“登录”按钮,为它编写登录代码如下:
C# code
protected void btnLogin_Click(object sender, EventArgs e)
{
//下面的登录方法只是我的习惯而已,我常用DataTable做所有的事情。建议你不要依赖它……否则会被人笑话的……登录的好方法有很多,参考下就好了。
string strConnection="SERVER=(local);DATABASE=UserTest;UID=sa;PWD=";//PWD=后面写上你的SQL SERVER的 sa密码。
System.Data.SqlClient.SqlConnection cn= new System.Data.SqlClient.SqlConnection(strConnection);
//SQL语句会吧?不会没办法,照抄吧。
string strSql="SELECT* FROM UsersTable WHERE u_name='"+ txbUserName.Text+"' AND u_pwd='"+ txbUserPassword.Text+"'";
//SqlDataAdapter这东西有什么用,建议你去查MSDN。
System.Data.SqlClient.SqlDataAdapter da= new System.Data.SqlClient.SqlDataAdapter(strSql, cn);
System.Data.DataTable dt= new DataTable();
da.Fill(dt);
if(dt.Rows.Count> 0)
{
Session["UserName"]= dt.Rows[0]["u_name"].ToString();
Session["Message"]="登录成功!";
Response.Redirect("default.aspx");
}
else
{
Session["Message"]="登录失败。请重新登录。";
Response.Redirect("default.aspx");
}
}
10,再按F5测试下,在用户名和密码内输入123,按下“登录”按钮,会提示登录失败。如果都输入abc,就会提示登录成功。因为数据库内只有abc这个用户。
11,关闭IE页面,最后我们做退出。
12,回到设计视图,双击“退出”按钮,为它编写下面的代码:
C# code
protected void btnQuit_Click(object sender, EventArgs e)
{
if(Session["UserName"]!= null)
{
Session.Remove("UserName");
Session["Message"]="退出成功,欢迎您再来啊";
Response.Redirect("default.aspx");
}
}
13,按F5运行,登录成功后,按“退出”按钮,系统会提示已经退出。
14,为了验证用户是否已登录,你需要在所有需要登录的页面的Page_Load()内添加:
C# code
if(Session["UserName"]!=null)
//用户可以访问。
else
//用户不能访问,扔回到登录页面:Response.Redirect("login.aspx");
15,基本如此,搞定。
如果你还想了解更多这方面的信息,记得收藏关注本站。