ASP生成静态网页,学习CASE的用法,以及“权限”的一种控制方法

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

<form action="calscore.asp?action=do" method="post" name=form1> ... </form>

<!--#include file="connect.asp"-->

<% if session("logstatus")<>1 then %>

<p align="center">

<font size="5" ><b>你还没有登录,没有权利浏览本页,请先<a href="login.asp">登录</a>!</b></font></p>

<%

else

'读取login.htm附带的SubjectNo、StudentID及Name参数值

Subject=Request("Subject")

StudentID=Request("StudentID")

Name=Request("Name")

******** 路径和文件的建立 ********************************************************************

'格式化日期

Function format(date)

format=datepart("yyyy",date)&"年"&datepart("m",date)&"月"&datepart("d",date)&"日&nbsp;"&formatdatetime(date,vbshorttime)

End Function

dim fmonth,fday,fhour,fminute,fsecond

fmonth=month(date)

if len(month(date))<2 then fmonth="0"&month(date) end if

fday=day(date)

if len(day(date))<2 then fday="0"&day(date) end if

fhour=hour(now())

if len(hour(now()))<2 then fhour="0"&hour(now()) end if

fminute=minute(now())

if len(minute(now()))<2 then fminute="0"&minute(now()) end if

fsecond=second(now())

if len(second(now()))<2 then fsecond="0"&second(now()) end if

newspath=year(date)&fmonth&fday

newsurl=fhour&fminute&fsecond

putdate=format(now())

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

path=server.MapPath("kaoshi") /.定义的一个文件

set fso=server.CreateObject("Scripting.FileSystemObject")

if fso.FolderExists(path)=false then

fso.CreateFolder(path)

end if

path=path&"/"&newspath

if fso.FolderExists(path)=false then

fso.CreateFolder(path)

end if

path=path&"/"&newsurl&".shtml" /.生成SHTML页面

set ts=fso.OpenTextFile(path,2,true,-2)

******** 生成HTML页面 ***********************************************************************

ts.writeline"<html>"

ts.writeline"<head>"

ts.writeline"<title>"&name&""

ts.writeline","&subject&""

ts.writeline" - 成绩结果</title>"

ts.writeline"<meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"">"

ts.writeline"<link rel=""stylesheet"" href=""css.css"" type=""text/css"">"

ts.writeline"</head>"

ts.writeline""

ts.writeline"<body bgcolor=""#FFFFFF"" text=""#000000"">"

ts.writeline"<table width=""100%"">"

ts.writeline"<tr>"

ts.writeline"<td width=""100%"">"

ts.writeline"<h2>"

ts.writeline""&Name&""

ts.writeline",你的考试成绩如下表:</h2>"

dim score

score=0

sqlt="select * from 考题类型"

rst.open sqlt,conn,1,1

do while not rst.eof

tn=rst("id")

tname=rst("name")

ts.writeline"<b>"

ts.writeline""&tname&""

ts.writeline"</b><br><br>"

sql="Select * From "&Subject&" where 题目类型="&tn&" order by 题目序号"

rs.open sql,conn,2,2

while not rs.eof

answer=rs("正确答案")

select case rs("题目类型")

case 1:

selection=Request("No"&rs("题目序号"))

ts.writeline rs("题目序号")

ts.writeline"、"&selection&"<br>"

case 2:

selection=""

for n=1 to 4

if not Request("No"&rs("题目序号")&"-"&n)="" then

selection=selection&Request("No"&rs("题目序号")&"-"&n)

end if

next

ts.writeline rs("题目序号")

ts.writeline" 、"&selection&"<br>"

case 3:

selection=Request(rs("选择项1"))

ts.writeline rs("题目序号")

ts.writeline"、"&selection&"<br>"

case else:

selection=Request(rs("选择项1"))

ts.writeline rs("题目序号")

ts.writeline"、"

ts.writeline"<font color=red>未确定评分规则!</font><br>"

ts.writeline""&selection&"<br>"

end select

if answer=selection then

score=score+rs("本题分数")

end if

rs.movenext

wend

rs.close

ts.writeline"<br>"

rst.movenext

loop

'response.write score

'response.end

ts.writeline"<br>"

ts.writeline"<font color=red>评分:</font>"

ts.writeline""&score&""

ts.writeline"<br>"

ts.writeline"</td></tr></table>"

ts.writeline"</body>"

ts.writeline"</html>"

end if

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航