用asp写一个简单登录界面,连接sql server

用asp写一个简单登录界面,连接sql server,第1张

数据库位置:data/data.mdb

数据库表:user

id name pwd wenti daan

conn.asp

<%

db="data/data.mdb" '数据库存放目录

on error resume next

set conn=server.createobject("adodb.connection")

conn.open "driver={microsoft access driver (*.mdb)}dbq="&server.mappath(db)

if err then

err.clear

set conn = Nothing

response.write "数据库连接出错,请检查conn.asp中的连接字符串。"

response.end

end if

function CloseDB

Conn.Close

set Conn=Nothing

End Function

%>

<%

dim badword

badword="'|and|select|update|chr|delete|%20from||insert|mid|master.|set|chr(37)|="

if request.QueryString<>"" then

chk=split(badword,"|")

for each query_name in request.querystring

for i=0 to ubound(chk)

if instr(lcase(request.querystring(query_name)),chk(i))<>0 then

response.write "<script language=javascript>alert('传参错误!参数 "&query_name&" 的值中包含非法字符串!\n\n')location='"&request.ServerVariables ("HTTP_REFERER")&"'</Script>"

response.end

end if

next

next

end if

%>

reg.asp

<!--#i nclude file="conn.asp"-->

<%

if request("action")="reg" then

set rs=server.CreateObject("adodb.recordset")

rs.open "select * from user where name='"&trim(request("name"))&"'",conn,1,1

if rs.recordcount>0 then

response.write "<Script language='JavaScript'>window.alert('您输入的用户名已存在,请返回重新输入!')history.back(-1)</Script>"

response.End()

end if

sql="select * from user"

set rs=server.createobject("adodb.recordset")

rs.open sql,conn,1,3

rs.addnew

rs("name")=trim(request.Form("name"))

rs("pwd")=trim(request.Form("pwd"))

rs("wenti")=trim(request.Form("wenti"))

rs("daan")=trim(request.Form("daan"))

rs.update

rs.close

set rs=nothing

response.write "<script language=javascript>alert('注册成功,点击确定立即登录!')location.replace('login.asp')</script>"

response.end

end if

%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>无标题文档</title>

</head>

<body><!--#i nclude file="top.asp"-->

<table width="90%" border="1" align="center" cellpadding="10" cellspacing="0">

<tr>

<td>用户注册

<form name="form1" method="post" action="?action=reg" onsubmit="return chkform(this)">

<table width="347" border="1" cellpadding="5" cellspacing="0">

<tr>

<td width="142">用户名</td>

<td width="179"><input name="name" type="text" id="name"></td>

</tr>

<tr>

<td>密码</td>

<td><input name="pwd" type="password" id="pwd"></td>

</tr>

<tr>

<td>密码提示问题</td>

<td><input name="wenti" type="text" id="wenti"></td>

</tr>

<tr>

<td>密码提示答案</td>

<td><input name="daan" type="text" id="daan"></td>

</tr>

<tr>

<td colspan="2"><input type="submit" name="Submit" value="注册">

<input type="reset" name="Submit" value="重置"></td>

</tr>

</table>

</form>

</td>

</tr>

</table>

</body>

</html>

top.asp

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<table width="90%" border="1" align="center" cellpadding="10" cellspacing="0">

<tr>

<td><a href="/""index.asp">首页</a>

<%

if Session("name")="" then

%>

<a href="/""reg.asp">注册</a><a href="/""login.asp">登陆</a>

<a href="/""pwd.asp">忘记密码?</a><%

else

%>

欢迎您<%=Session("name")%>, <a href="/""loginout.asp">注销登陆</a>

<%

end if

%>

<a href="/""jiami.asp">加密页</a></td>

</tr>

</table>

<br>

login.asp

<!--#i nclude file="conn.asp"-->

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>无标题文档</title>

</head>

<body><!--#i nclude file="top.asp"-->

<table width="90%" border="1" align="center" cellpadding="10" cellspacing="0">

<tr>

<td>

用户登陆

<%

if Session("name")="" then

%>

<form name="form1" method="post" action="loginok.asp?action=login" onsubmit="return chkform(this)">

<table border="1" cellspacing="0" cellpadding="5">

<tr>

<td width="116">用户名</td>

<td width="116"><input name="name" type="text" id="name"></td>

</tr>

<tr>

<td>密码</td>

<td><input name="pwd" type="password" id="pwd"></td>

</tr>

<tr>

<td colspan="2"><input type="submit" name="Submit" value="登陆">

<input type="reset" name="Submit" value="重置"></td>

</tr>

</table>

</form>

<%

else

%>

<table border="1" cellspacing="0" cellpadding="5">

<tr>

<td width="303"><%=Session("name")%>,您已经成功登陆</td>

</tr>

</table>

<%

end if

%>

</td>

</tr>

</table>

</body>

</html>

loginok.asp

<!--#i nclude file="conn.asp"-->

<%

Session.TimeOut=30

if request("action")="login" then

name=trim(request.form("name"))

pwd=trim(request.form("pwd"))

if name="" or pwd="" then

Response.Redirect ("login.asp")

end if

set rs=server.createobject("adodb.recordset")

sql="select * from user where name='"&name&"'and pwd='"&pwd&"'"

rs.open sql,conn,1,1

if not rs.eof then

session("name")=name

response.redirect"edit.asp"

else

response.redirect"Error.asp"

response.end

end if

end if

%>

loginout.asp

<%

session("name")=""

response.write "<script language=javascript>alert('退出登陆成功!')location.href('index.asp')</script>"

response.end

%>

pwd.asp

<!--#i nclude file="conn.asp"-->

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>无标题文档</title>

</head>

<body><!--#i nclude file="top.asp"-->

<table width="90%" border="1" align="center" cellpadding="10" cellspacing="0">

<tr>

<td><p>找回密码</p>

<form name="form1" method="post" action="pwd2.asp?action=pwd">

<table width="398" border="1" cellpadding="5" cellspacing="0">

<tr>

<td width="130">请输入用户名</td>

<td width="168"><input name="name" type="text" id="name"></td>

<td width="62"><input type="submit" name="Submit" value="查询"></td>

</tr>

</table>

</form></td>

</tr>

</table>

</body>

</html>

pwd2.asp

<!--#i nclude file="conn.asp"-->

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>无标题文档</title>

</head>

<body><!--#i nclude file="top.asp"-->

<table width="90%" border="1" align="center" cellpadding="10" cellspacing="0">

<tr>

<td>

找回密码

<%

name=trim(request.form("name"))

set rs=server.createobject("adodb.recordset")

sql="select * from user where name='"&name&"'"

rs.open sql,conn,1,1

if not rs.eof then

%>

<form name="form1" method="post" action="pwd3.asp">

<table width="398" border="1" cellpadding="5" cellspacing="0">

<tr>

<td><%=rs("name")%></td>

<td></td>

<td><input name="name" type="hidden" id="name" value="<%=rs("name")%>"></td>

</tr>

<tr>

<td width="130">密码提示问题</td>

<td width="168"><%=rs("wenti")%>

</td>

<td width="62"></td>

</tr>

<tr>

<td>密码提示答案</td>

<td><input name="daan" type="text" id="daan"></td>

<td><input type="submit" name="Submit" value="查询"></td>

</tr>

</table>

</form>

<% else

%>

<table width="413" border="1" cellpadding="5" cellspacing="0">

<tr>

<td>你输入的用户名不存在,请<a href="/""javascript:history.back()">返回</a>重新输入,或者<a href="/""reg.asp">注册</a></td>

</tr>

</table>

<%end if

%>

</td>

</tr>

</table>

</body>

</html>

pwd3.asp

<!--#i nclude file="conn.asp"-->

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>无标题文档</title>

</head>

<body><!--#i nclude file="top.asp"-->

<table width="90%" border="1" align="center" cellpadding="10" cellspacing="0">

<tr>

<td>

找回密码

<%

name=trim(request.form("name"))

daan=trim(request.form("daan"))

set rs=server.createobject("adodb.recordset")

sql="select * from user where name='"&name&"' and daan='"&daan&"'"

rs.open sql,conn,1,1

if not rs.eof then

%>

<table width="398" border="1" cellpadding="5" cellspacing="0">

<tr>

<td width="130"><%=rs("name")%>,您的密码</td>

<td><%=rs("pwd")%>

</td>

</tr>

</table>

<% else

%>

<table width="413" border="1" cellpadding="5" cellspacing="0">

<tr>

<td>你输入的密码提示答案不正确,请<a href="/""javascript:history.back()">返回</a>重新输入</td>

</tr>

</table>

<%end if

%>

</td>

</tr>

</table>

</body>

</html>

error.asp

<!--#i nclude file="conn.asp"-->

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>无标题文档</title>

</head>

<body><!--#i nclude file="top.asp"-->

<table width="90%" border="1" align="center" cellpadding="10" cellspacing="0">

<tr>

<td>登陆失败,请检查用户名和密码是否正确 <a href="/""login.asp">返回</a></td>

</tr>

</table>

</body>

</html>

edit.asp

<!--#i nclude file="conn.asp"-->

<%

if request("action")="edit" then

name=session("name")

set rs=server.createobject("adodb.recordset")

sql="select * from user where name='"&name&"'"

rs.open sql,conn,3,2

rs("pwd")=trim(request.Form("pwd"))

rs("daan")=trim(request.Form("daan"))

rs.update

rs.close

set rs=nothing

response.write "<script language=javascript>alert('编辑成功!')location.href('edit.asp')</script>"

end if

%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>无标题文档</title>

</head>

<body><!--#i nclude file="top.asp"-->

<table width="90%" border="1" align="center" cellpadding="10" cellspacing="0">

<tr>

<td><p>修改资料</p>

<p>

<%

if Session("name")="" then

%>

对不起你还没有登陆,请<a href="/""login.asp">登陆</a>或者<a href="/""reg.asp">注册</a>

<%

else

%>

<%

name=session("name")

set rs=server.createobject("adodb.recordset")

sql="select * from user where name='"&name&"'"

rs.open sql,conn,1,1

%>

</p>

<form action="?action=edit" method="post" name="form" id="form">

<table border="1" cellpadding="5">

<tr>

<td>用户名</td>

<td><%=rs("name")%></td>

</tr>

<tr>

<td>密码</td>

<td><input name="pwd" type="text" id="pwd" value="<%=rs("pwd")%>"></td>

</tr>

<tr>

<td>密码提示问题</td>

<td><%=rs("wenti")%></td>

</tr>

<tr>

<td>密码提示答案</td>

<td><input name="daan" type="text" id="daan" value="<%=rs("daan")%>"></td>

</tr>

<tr>

<td></td>

<td><input type="submit" name="Submit" value="修改">

<input type="reset" name="Submit" value="重置"></td>

</tr>

</table>

</form>

<p><%

end if

%>

</p></td>

</tr>

</table>

</body>

</html>

这是详细代码,希望我的回答对你有帮助

如果对您有帮助的话,请及时采纳哈

在这个几点<connectionStrings></connectionStrings>中添加,<add name="OracleConn" connectionString="pOs+MY5hcdRGZWG8WutJUuPMqGyMbvZ4/6k+p+WewBMZht2c8OJDzZUgyLSElxlWjIgtiGbOSb++SkkGAyCp+qFWSlIuwrd6BeTvcbPGhIJJwDquInFTzF3k4xWqzwpO"/>

我这个是经过机密了的连接串。

在vs里面菜单栏,视图——>服务器资源管理器——>数据连接 处右键添加连接。根据提示填写服务器ip、数据库名、用户名、密码。添加完成之后点击一下测试按钮。前面的信息填写正确后回提示测试成功。点击确定讲出现如下连接列表。

至于web.connfig配置文件中的连接字符串在添加的数据连接属性中能找到。或者右键点击修改连接,也能找到。

TextBox1和TextBox2 这两个控件的值取出来分别分在下面的sid,Spassword这两个字段上。

select * from StuffInfo where sid= and Spassword=

点击确定按钮的时候在代码里面查询数据库。

看看查询数据库之后返回的数据的行数。如果返回行数大于0,则验证成功。否则失败。

在login.aspx这个页面代码里面验证成功之后 跳转到 index.aspx页面即可。

跳转页面的代码response.Redirect("http://www.jb51.net", false)

本人多年没写代码了,你确认下跳转页面的代码是否正确。百度一下应该就能找到。

纯手工敲的,望采纳!

能不能详细点啊。

access数据库是mdb文件,如果你用access打开时不能编辑,那就检查一下这个文件是否设置为只读了。

而如果是在ASP中打开这个mdb文件进行数据库的读写,步聚如下:

一、创建Adodb.Connection对象用来连接数据库

使用以下语句:Set Conn=Server.CreateObject("Adodb.Connection")

打开数据库连接:Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0Data Source="&server.mappath("xxx.mdb")

其中的xxx.mdb就是你的access数据库名称(可以加上路径例如:/data/xxx.mdb。

二、创建adodb.recordset记录集对象来打开数据表并获取记录集

使用以下语句:

set rs=server.createobject("adodb.recordset")

rs.open "select * from xxtable",conn,1,3

这样就打开了xxtable这个表,并返回了其中的所有记录,并且是以可编辑状态打开的。其中的conn即是你的数据库连接对象的名称,后面紧跟着的1是recordset记录集对象的游标类型,此处为1表示你通过此SQL语句获得的记录集的游标可以前后移动,这样你就可以进行记录集的循环等 *** 作。最后面的一个数字3,是记录集的锁定类型,3表示可编辑

关于游标类型及锁定类型可以百度搜索一下

通过上面两步,你已经获得了一些记录集并且处于可编辑这些记录集的状态了

接下来就可以使用rs.addnew,rs.update进行记录的新增,更新 *** 作。

比如新增:

rs.addnew() '表示新增一条记录

rs("name")="test1"

rs("pass")="1234"

rs.update()

这样就新增了一条记录,其中的rs.addnew()表示新增一条记录,紧接着用rs("name"),rs("pass")来写入数据到name,pass这两个字段中,然后使用rs.update来保存一下你刚才的写入,这样一条新记录的插入就完成了。

而如果你只是修改一条已有的记录,则不需要rs.addnew(),后面的代码一样即可完成。不过修改记录一般是会先查询指定条件的某一条记录再进行rs.updae

当然你也可以不使用recordset记录集对象,而直接用sql语句的insert,update等来完成。

另外补充说明一点:

如果你发现用recordset或是sql的insert,update不能成功增加记录或修改记录,那么你就检查一下你的这个数据库连接代码是否连接成功(也就是数据库文件的路径是否写对)。如果这些都对,那么你再检查这个数据库文件是否是只读状态,如果也不是只读状态,那么就应该是文件权限的问题了。当你的MDB文件在NTFS格式的磁盘分区中时,需要设置文件的权限才可以写入数据,否则就只能读取。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10096262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存