# 回复:整理了一些asp初学者常用的代码
RealPlayer 播放器<object id=video1 classid=" clasid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA"
width=320 height=240 align="middle">
<param name="controls" value="inagewindow">
<param name="console" value="chicp1">
<param name="autostar" value="true">
<param name="src" value="地址">
<embed
src="地址"
type="audio/x-pn-realaudio-plugin" console="chip1"
controls="imagewindow" width=320 height=240 autostart=true align="middle">
</embed>
</object>
问题:如何保护自己的ASP源代码不泄露?
答:下载微软的windows script encoder,对ASP的脚本和客户端javascript、vbscript脚本进行加密。客户端脚本加密后,只有ie5以上的版本才能执行,服务器端脚本加密后,只有服务器上安装有script engine 5(装ie5即可)才能解释执行。
问题:为什么global.asa文件总是不起作用?
答:只有把global.asa文件放在web发布目录某个站点的根目录下它才有效,放在发布目录的某个子目录下不起作用。另外,也可以使用iis4的internet service manager把某个子目录设置为站点。
问题:为什么ASP文件总不解释执行?
答:在iis服务器上没有给ASP文件以脚本解释的权限,所以ASP文件没有被web服务器作为脚本代码进行解释执行,而被当成一般页面文件了。建议在web发布目录中建立一个ASP目录,把所有ASP文件存放在此目录下,把ASP目录赋予脚本解释权限。
问题:ASP文件中使用response.redirect(url)时导致错误“the http headers are already written to the client browser. any http header modifications must be made before writing page content”,请问如何解决?
答:此错误为http标题在写入页内容之后,写到了客户浏览器中。任何http标题的修改必须在写入页内容之前进行,解决的方法为在ASP文件最开头加入response.buffer = true,在文件的结尾加入response.flush。
问题:为什么session有时候会消失?
答:session很像临时的cookie,只是其信息保存在服务器上(客户机上保存的是sessionid)。session变量消失有几种可能,如:使用者的浏览器不接受cookie,因为session依赖于cookie才能跟踪用户;session在一段时间后过期了,缺省为20分钟,如果希望更改,可以通过设置microsoft management console的web directory→properties→virtual directory→application settings→configuration→app options→session timeout选项来改变session的超时时间,也可以在ASP脚本中设定,如session.timeout=60,可设定超时时间为60分钟。
问题:怎样才能知道访问者的一些信息?
答:通过request.servervariables(″http—user—agent″)获得访问者浏览器的类型;request.servervariables(″remote—addr″)可获得访问者的ip地址;而访问者的语言环境可通过request.servervariables(″http—accept—language″)来获得。
问题:怎样才能将query string从一个ASP文件传送到另一个ASP文件?
答:前一个ASP文件加入下列代码:response.redirect(″second.ASP?″&request.servervariables(″query—string″))即可。
问题:ASP中如何控制cookies?
答:若想写入cookies可用:response.cookies(″待写入的coookies名称″)=待写入数据。读取cookies则使用:读取数据=request.cookies(″待读的cookies名称″)。
注意,写入cookies的response.cookies程序段必须放在〈html〉标记之前,且不可以有任何的其它html代码。另外,cookies中必须使用expires设定有效期,cookies才能真正地写入客户端硬盘中,否则只是临时的。
问题:怎样实现用ASP发送邮件?
答:用户需装上windows nt option pack的smtp service功能。实现代码如下:
〈%
set mail = server.createobject(″cdonts.newmail″)
mail.to =″abc@xxx.com″
mail.from =″yourmail@xxx.com″
mail.subject =″主题″
mail.body =″e-mail内容″
mail.send
%〉
问题:ASP与数据库连接一定要在服务器端设置dsn吗?
答:不一定,ASP与服务器的数据库连接有两种方法,一种为通过dsn建立连接,另一种不用dsn建立连接。通过dsn连接数据库需要服务器的系统管理员在服务器的控制面板中的odbc中设置一个dsn。如果没有在服务器上设置dsn,只要知道数据库文件名(比如access、paradox、foxpro的数据库)或者数据源名(如sqlserver的数据库)就可以访问数据库,直接提供连接所需的参数即可。
连接代码如下:
set conn=server.createobject(″adodb.connection″)
connpath=″dbq=″&server.mappath(″yourtable.mdb″)
conn.open″driver={microsoft access driver (.mdb)};″&connpath
set rs=conn.execute(″selectfrom authors″)
问题:如何从一页到另一页传递变量?
答:用hidden表单类型来传递变量。
〈form method=″post″action=″mynextpage.ASP″〉
〈% for each item in request.form %〉
〈input namee=″〈%=item%〉″type=″hidden″
value=″〈%=server.htmlencode(request.form(item)) %〉″〉
〈% next %〉
〈/form〉
用session来保存变量。
〈%session(″bh″)= request.form (″bh″)%〉
用querystring保存变量。
〈a herf=″action.ASP?bh=10″〉查询〈/a〉
〈%request. querystring (″bh″)%〉
问题:如何用ASP实现在线人数统计?
答:在线人数是指一个时段内的访客人数统计,时间的长短是由设计者设定的。
在这个时段内,各个不同ip访问本站点的总数,就是当前的线上人数。在ASP中,使用session对象来实现统计,实现代码如下:
golobal.asa文件
〈script language=″vbscript″runat=″server″〉
sub session—onstart
application(″online″)=application(″online″)+1
end sub
sub session—onend
application(″online″)=application(″online″)-1
end sub
sub application—onstard
application(″online″)=0
end sub
sub application—onend
application(″online″)=0
end sub
〈/script〉
online.ASP文件内容
〈% tmp=application(″online″)
tmp=cstr(tmp)
dim disp(20)
dim images(20)
dbbits=len(tmp)
for i= 1 to dbbits
disp(i)=left(right(tmp,i),i-(i-1))
next
for i=dbbits to 1 step -1
images(i)=″〈img src=″&″ http://xxxx.com.cn/pic″&″/″&disp(i)&″.gif〉″
response.write″document.write(′″&images(i)&″′);″
next %〉
问题:ASP程序运行的时间如何计算?
答:确定ASP程序的执行时间的代码如下所示:
〈%
dim t1,t2
t1=now()
′被检测的ASP代码
t2=now()
response.write″运行这段ASP代码用了″&cstr(cdbl((t2-t1)*24*60*60))&″秒″
%〉
删除记录时弹出确认框:
<script LANGUAGE="VBSCRIPT">
a=msgbox("真的要删除该记录吗?",1,"注意")
if a=1 then
location="Dodelete.asp?id=<%=id%>" //指向执行删除的页面Dodelete.asp
else
history.go(-1)
end if
</script>
其中id=<%=id%>是指从表单中取得的数据编号,当然也可以是其他的东东。
这是我钱两天在坛子里提出的问题,感谢大家给出的解决方法,我觉得这条比较好用,希谢谢!
将查询数据时得到的记录关键字用红色显示:
<% =replace(RS("字段X"),searchname,"<font color=#FF0000>" & searchname & "</font>") %>
其中SEARCHNAME是查询时输入的关键字,这个效果就向大多数查询功能中常用的那样,也是在论坛中问人得来的答案,希望对和我一样的菜鸟有帮助,
这个论坛的人都很好,都很热心,I LIKE IT:)