自己简单写了一个有3个选项的网络调查表单,要实现的功能是对网站进行“好,中,差”的评选,之后将调查数据结果提交到数据库处理。数据库表名为:survey(id,userIp,result)
id(主键,自动编号)
userIp(用户IP,文本)
result(用户投票,文本)
在data目录下,建立了投票页为survey.asp ,处理投票结果页面为runsurvey.asp,并连接成功了数据库,可是测试时发现表单投票结果还是提交不到数据库。不知怎么回事,请高手看看代码是否正确,怎样具体操作就正确了。谢谢!
投票页survey.asp代码
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>网络调查</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="?act=submit">
<table width="256" height="225" align="center" cellspacing="0">
<tr>
<td > <input type="radio" name="Survey" value="radiobutton" />
好</td>
</tr>
<tr>
<td > <input type="radio" name="Survey" value="radiobutton" />
中 </td>
</tr>
<tr>
<td > <input type="radio" name="Survey" value="radiobutton" />
差</td>
</tr>
<tr>
<td ><input type="submit" name="Submit" value="提交" />
<input type="reset" name="Submit2" value="重写" /></td>
</tr>
</table>
</form>
</body>
</html>
处理结果页runsurvey.asp代码:
<%
'////链接数据库
db="data/survey.mdb" '数据库文件位置
connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
on error resume next
set conn=server.createobject("ADODB.CONNECTION")
if err then
err.clear
else
conn.open connstr
'接收投票页面传来的值
Survey = request.Form("Survey")
'获取用户IP
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then
userip = Request.ServerVariables("REMOTE_ADDR")
end if
'开始插入数据
set rs = server.CreateObject("adodb.recordset")
rs.open "select * from survey",conn,3,3
rs.addnew()
rs("userIp") = userip
rs("result") = Survey
rs.update()
rs.close
set rs = nothing
response.Write("投票成功!")
conn.close
set conn = nothing
%>
还用asp啊。。。。。。