我用forntpage做网页,想在网页中用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
%>
<!----------登录处理代码结束---------------------->
所有页面 文件都放在同一个目录下面即可运行了。。。。追问
建数据表 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
%>
<!----------登录处理代码结束---------------------->
所有页面 文件都放在同一个目录下面即可运行了。。。。追问
在iis中运行login。asp后显示Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/asp学习/lesson26/ado/登录注册asp/login.asp,行 30
能帮我再看看吗?谢谢。
在这里添加两个end if 修改之后如下:
rs.close
set rs=nothing
conn.close
set conn=nothing
'这个地方
end if
end if
%>
增加2个end if后运行login。asp如下:
ADODB.Recordset 错误 '800a0bb9'
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
/注册登录/注册登录asp/login.asp,行 15
单独运行user-add。asp后结果如下:
Microsoft VBScript runtime 错误 '800a01a8'
Object required: 'rs'
/注册登录/注册登录asp/user_add.asp,行 47
麻烦再指导以下,谢谢。
额,我调试后再贴出来哈,呵呵 随手编写的,可能有几个小地方 没注意
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-09-08
<!--#include file="conn.asp"-->
<%
username=request.form("zh")
password=request.form("mm")
set rs=Server.CreateObject("adodb.Recordset")
strSQL = "select * from [登陆] where 帐号 ='" & username & "'"
rs.Open strSQL,conn
if not rs.Eof then ''表示查询有记录
if trim(password)=trim(rs.Fields("密码")) then
Response.Redirect("add.asp")
else
Response.write "输入密码错误!"
end if
else
''查询不到这个用户名,表示用户不存在
Response.Redirect("zhuce.asp")
end if
conn.close
set conn=nothing
%>
<%
username=request.form("zh")
password=request.form("mm")
set rs=Server.CreateObject("adodb.Recordset")
strSQL = "select * from [登陆] where 帐号 ='" & username & "'"
rs.Open strSQL,conn
if not rs.Eof then ''表示查询有记录
if trim(password)=trim(rs.Fields("密码")) then
Response.Redirect("add.asp")
else
Response.write "输入密码错误!"
end if
else
''查询不到这个用户名,表示用户不存在
Response.Redirect("zhuce.asp")
end if
conn.close
set conn=nothing
%>