邪恶神奇宝贝武藏本子:请教关于 asp 参数传递 怎么传不过来
来源:百度文库 编辑:神马品牌网 时间:2024/08/27 06:15:25
这是teacher.asp中的片段
<% set rs=server.createobject("adodb.recordset")
sql="select id,t_name,t_zhicheng,t_xuewei,t_job from teacher where t_level<>6 order by t_level asc"
rs.open sql,conn,1,1
%>
<% do while not rs.eof %>
<tr height="18">
<td><a href="tdetail.asp?uid=<%=rs("id")%>"><%=rs("t_name")%</a></td>
<td> <%=rs("t_zhicheng")%></td>
<td> <%=rs("t_xuewei")%></td>
<td><p align="center"><%=rs("t_job")%></p></td>
</tr>
<%
rs.movenext
loop
rs.close
set rs=nothing %>
tdetail.asp片段
<% uid=request("uid")
set rs=server.createobject("adodb.recordset")
sql="select t_name from teacher where id=uid"
rs.open sql,conn,1,1 %>
<% if rs.eof or rs.bof then
response.write"<SCRIPT language=JavaScript>alert('对不起,该用户不存在或已被删除!');"
response.write"javascript:window.close();</SCRIPT>"
end if %>
总是 对不起,该用户不存在或已被删除!
怎么接收不到,具体应该怎么写,注意些什么,
答案没有实质的改变
还是不行,不过仍然谢谢你们
寻求中……
我确定是英文状态下的?
我用
uid=Request("uid")
set rs=server.createobject("adodb.recordset")
sql="select t_name from teacher where id=uid"
rs.open sql,conn,1,1
%>
<%=uid%>
显示出正确的uid
但是还是说 对不起……
我换成
id=Request("uid")
set rs=server.createobject("adodb.recordset")
sql="select t_name from teacher where id=id"
rs.open sql,conn,1,1
%>
<%=id%>
后所有显示id值也正常,但是到数据库取出来的却是特定id=56的值
文件
http://www.pianzhou.com/staff.txt staff.asp 的原文件
也就是上面teacher.asp 文件
http://www.pianzhou.com/tdetail.txt tdetail.asp 的原文件
http://www.pianzhou.com/db.txt 数据库的结构说明
现在可以了,虽然没有实质的改变,不知道怎么弄的,最后我该成这样字就可以了(来源于http://www.xx35.com/bbs/PBBS/PostView.asp?action=next&BoardID=11&imageID=1785 这篇中的思路)
sql="select t_name from teacher where id="&Request("uid")
<% set rs=server.createobject("adodb.recordset")
sql="select id,t_name,t_zhicheng,t_xuewei,t_job from teacher where t_level<>6 order by t_level asc"
rs.open sql,conn,1,1
%>
<% do while not rs.eof %>
<tr height="18">
<td><a href="tdetail.asp?uid=<%=rs("id")%>"><%=rs("t_name")%</a></td>
<td> <%=rs("t_zhicheng")%></td>
<td> <%=rs("t_xuewei")%></td>
<td><p align="center"><%=rs("t_job")%></p></td>
</tr>
<%
rs.movenext
loop
rs.close
set rs=nothing %>
tdetail.asp片段
<% uid=request("uid")
set rs=server.createobject("adodb.recordset")
sql="select t_name from teacher where id=uid"
rs.open sql,conn,1,1 %>
<% if rs.eof or rs.bof then
response.write"<SCRIPT language=JavaScript>alert('对不起,该用户不存在或已被删除!');"
response.write"javascript:window.close();</SCRIPT>"
end if %>
总是 对不起,该用户不存在或已被删除!
怎么接收不到,具体应该怎么写,注意些什么,
答案没有实质的改变
还是不行,不过仍然谢谢你们
寻求中……
我确定是英文状态下的?
我用
uid=Request("uid")
set rs=server.createobject("adodb.recordset")
sql="select t_name from teacher where id=uid"
rs.open sql,conn,1,1
%>
<%=uid%>
显示出正确的uid
但是还是说 对不起……
我换成
id=Request("uid")
set rs=server.createobject("adodb.recordset")
sql="select t_name from teacher where id=id"
rs.open sql,conn,1,1
%>
<%=id%>
后所有显示id值也正常,但是到数据库取出来的却是特定id=56的值
文件
http://www.pianzhou.com/staff.txt staff.asp 的原文件
也就是上面teacher.asp 文件
http://www.pianzhou.com/tdetail.txt tdetail.asp 的原文件
http://www.pianzhou.com/db.txt 数据库的结构说明
现在可以了,虽然没有实质的改变,不知道怎么弄的,最后我该成这样字就可以了(来源于http://www.xx35.com/bbs/PBBS/PostView.asp?action=next&BoardID=11&imageID=1785 这篇中的思路)
sql="select t_name from teacher where id="&Request("uid")
sql="select t_name from teacher where id=uid"
改为sql="select t_name from teacher where id='"&request("uid")&"'"
sql="select t_name from teacher where id=uid"
改成 sql="select t_name from teacher where id = " & uid
你用超链接的形式也就是GET方法提交的变量
所以接收的时候被当做字符串处理
也就是说uid=request("uid")是一个字符串
在SQL查询中要用"&&"引用字符串变量
如下:sql="select t_name from teacher where id="&uid&""
如果你在表单中用POST方法提交就不会有这种问题
如果teacher.asp正常显示
程序是没什么问题,你确定
<a href="tdetail.asp?uid=<%=rs("id")%>">
?是英文状态下的