asp注册页面代码 ASP注册源代码
本篇文章给大家谈谈asp注册页面代码,以及ASP注册源代码对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
如何在网页中用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
%>
<!----------登录处理代码结束---------------------->
所有页面文件都放在同一个目录下面即可运行了。。。。
用Dreamweaver做登陆和注册界面的代码
1、插入一个div,设置为400x300px大小,背景色为米黄色,居中。
2、输入标题文字和用户名、密码,调整位置。
3、继续插入填写部分,插入--表单--文本域,所以需要输入内容的“框”都是文本域。设置用户名文本域ID为username,点击确定。
4、继续同样的方式插入密码的文本域,设置ID为password。因为密码是非明文的,不需要显示,所以我们在属性面板里选择文本域的类型--密码。
5、插入按钮。插入--表单--按钮,插入两个按钮,ID分别设置为login和reg。login按钮设置为登陆,reg按钮设置为注册。
6、初始值是我们未输入内容时,填写框显示的提示文字。
7、这样一个简单的登陆界面就做好了,是不是很简单呢。
用asp怎么编写验证码
使用ASP生成图片彩色校验码
49行代码,三个文件
Asp文件:Code.Asp
数据文件:body.Fix, Head.Fix
用法:<img src="code.asp">
<%
Option Explicit
Response.buffer=true
NumCode
Function NumCode()
Response.Expires=-1
Response.AddHeader"Pragma","no-cache"
Response.AddHeader"cache-ctrol","no-cache"
dim zNum,i,j
dim Ados,Ados1
Randomize timer
zNum= cint(8999*Rnd+1000)
Session("GetCode")= zNum
dim zimg(4),NStr
NStr=cstr(zNum)
For i=0 to 3
zimg(i)=cint(mid(NStr,i+1,1))
Next
dim Pos
set Ados=Server.CreateObject("Adodb.Stream")
Ados.Mode=3
Ados.Type=1
Ados.Open
set Ados1=Server.CreateObject("Adodb.Stream")
Ados1.Mode=3
Ados1.Type=1
Ados1.Open
Ados.LoadFromFile(Server.mappath("body.Fix"))
Ados1.write Ados.read(1280)
for i=0 to 3
Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.write ados.read(320)
next
Ados.LoadFromFile(Server.mappath("head.fix"))
Pos=lenb(Ados.read())
Ados.Position=Pos
for i=0 to 9 step 1
for j=0 to 3
Ados1.Position=i*32+j*320
Ados.Position=Pos+30*j+i*120
Ados.write ados1.read(30)
next
next
Response.ContentType="image/BMP"
Ados.Position=0
Response.BinaryWrite Ados.read()
Ados.Close:set Ados=nothing
Ados1.Close:set Ados1=nothing
End Function
' Asp code Created by BlueIdea.COM Web Team V37 2003-7-25
%>
代码解释:
Response.buffer=true
NumCode
Function NumCode()
Response.Expires=-1
Response.AddHeader"Pragma","no-cache"
Response.AddHeader"cache-ctrol","no-cache"
dim zNum,i,j
dim Ados,Ados1
Randomize timer
生成随机四位数字:
zNum= cint(8999*Rnd+1000)
传递给session
Session("GetCode")= zNum
该for循环是将随机数字放入一个下标3的数组,便于提供给后面的阵列变换
dim zimg(3),NStr
NStr=cstr(zNum)
For i=0 to 3
zimg(i)=cint(mid(NStr,i+1,1))
Next
dim Pos
'定义二个 ADODB.Stream binary对象,作图像数据操作之用:
set Ados=Server.CreateObject("Adodb.Stream")
Ados.Mode=3
Ados.Type=1
Ados.Open
set Ados1=Server.CreateObject("Adodb.Stream")
Ados1.Mode=3
Ados1.Type=1
Ados1.Open
'载入0~9的数字数据10x100的,Gbr的阵列数据,每个320字节,10个数字3200byte
'BGR一个点,10x10个点一个数字,一个点三个字节(二进制8位,16进制 00~FF)
'一行10个点 30字节+行结束标记 00 00二字节 32字节,所以一个10x100宽小于长的图像每个数字10x10是320字节
'长大于宽的则无行结束标记 0000,直接是300字节
这些就是BMP 24bit的数据详细信息了
‘至于头部,也很简单,包含长宽,图像开始标记等等~~才54字节,远没jpg什么的复杂
Ados.LoadFromFile(Server.mappath("body.Fix"))
Ados1.write Ados.read(1280)
'第一个for循环,按生成的随机数字顺序从 10X100的数字阵列中提取出相应的四个数字
但是竖排的数字阵列
for i=0 to 3
Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.write ados.read(320)
next
'清空已经用完的ADOS的数据,调入替换新的图像头54字节的头文件
Ados.LoadFromFile(Server.mappath("head.fix"))
Pos=lenb(Ados.read())
Ados.Position=Pos'指定Pos位置,即可再偏移54字节的位置添加图形数据
第二个for循环,进行数字的阵列变换,由竖排的块转换为横排的数字块
方法是隔320字节抽取4次30字节写入ados对象,再抽取偏移第二行的图像数据
30字节是因为bmp宽大于长时无00 00的行结束标记
for i=0 to 9 step 1
for j=0 to 3
Ados1.Position=i*32+j*320
Ados.Position=Pos+30*j+i*120
Ados.write ados1.read(30)
next
next
Ados.Position=0
response.BinaryWrite直接向客户端发送图像数据
Response.ContentType="image/BMP"
Response.BinaryWrite Ados.read()
Ados.Close:set Ados=nothing
Ados1.Close:set Ados1=nothing
End Function
数字和字母组合并生成图片的验证码祥解
大家经常在网上登陆的时候经常会看到让你输入验证码,有的是文字的,有的呢是图片,比如chinaren.com校友录中留言的时候,我们就会看到数字图片验证码;网上关于数字文字验证码实现方法的相关资料很多,而我们这里介绍的是数字和字母随机组成的并且生成图片的验证码的实现方法。看起来很复杂、其实很简单的,大家跟着我往下看:
首先,我们先介绍一下设计思路,数字和字母的随机组合生成验证码,然后将验证码生成图片,这里“数字和字母的组合”应该是随机取出来的;如果是专门的数字验证码,我们可以这样实现:
ycodenum=4'验证码的位数,或者说成个数
for i=1 to ycodenum
Randomize'初始化随机数发生器
ycode=ycode&Int((9*Rnd))'rnd是随机数,从0到1之间的任意实数,这里获得0到9之间的整数
next
response.write ycode'就可以输出数字验证码(4位)
然而,我们要让数字和字母同样随机生成,这里我们可以用到数组来实现这种效果,如下:
ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"'将数字和大写字母组成一个字符串
yc=split(char,",")'将字符串生成数组
ycodenum=4
for i=1 to ycodenum
Randomize
ycode=ycode&yc(Int((35*Rnd)))'数组一般从0开始读取,所以这里为35*Rnd
next
response.write ycode
现在看看输出结果是不是数字和字母随机组合的呢?
下面看看怎样生成图片,这个也许有些朋友知道:asp不能生成图片,必须使用asp组件。不错,我们这里使用的是ASP图象组件shotgraph。有一点大家注意,服务器不是自己的不能用哦,因为你装不了这组件。
组件的下载地址:,至于怎么注册,这里就不多说了,网上有很多资料
我们看看生成图片的代码:
ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"'将数字和大写字母组成一个字符串
yc=split(char,",")'将字符串生成数组
ycodenum=4
for i=1 to ycodenum
Randomize
ycode=ycode&yc(Int((35*Rnd)))'数组一般从0开始读取,所以这里为35*Rnd
next
Response.Clear
Response.ContentType="image/gif"
set obj=Server.CreateObject("shotgraph.image")
x=55'图片的宽
y=26'图片的高
obj.CreateImage x,y,8'8是图片的颜色8位
obj.SetColor 0,55,126,222
obj.SetColor 1,255,255,255
obj.CreatePen"PS_SOLID",1,0
obj.SetBgColor 0
obj.Rectangle 0,0,x-1,y-1
obj.SetBkMode"TRANSPARENT"
obj.CreateFont"Arial",136,18,1,False,False,False,False
obj.SetTextColor 1
obj.TextOut 5,4,ycode&""
img=obj.GifImage(-1,1,"")
Response.BinaryWrite(img)
针对以上代码也就是说shotgraph普通的画图的原理请参考:
如果你还想了解更多这方面的信息,记得收藏关注本站。