请问下面要怎么改才能把userhome.asp?CardId=“卡号”改为userhome.asp以后不用加上卡号!

swhrzl 2002-08-02 08:05:40
<%
if not isEmpty(request.QueryString("CardId")) then
CardId=request.QueryString("CardId")
else
CardId=1
end if


Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "Select * From userlist where CardId='"& CardId &"'", conn,3,3
rs.close
%>
...全文
7 点赞 收藏 17
写回复
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiushuiwuhen 2002-08-02
redirect 如何用hidden?

通过cookie或session读取

response.cookies("CardId")=true
改成
response.cookies("CardId")=CardID


回复
fbj007 2002-08-02
用隐藏值应该是可以的
回复
dgz01 2002-08-02
对,用隐藏

*****
打工好辛苦
*****
钞票好难赚
*****
编程好伤神
*****
光阴好易混
*****
回复
skyliubin 2002-08-02
同意楼上的说法,当你一开始进入后用<INPUT TYPE="hidden" NAME="cardid" VALUE="卡号">把你的传进来的cardid的值保存起来,它是隐身的,你想在判断的时候就可以用
cardid=Request.Form("CardId")
if cardid="" then
cardid=1
end if
来判断了
回复
swhrzl 2002-08-02
还是不行哦~~我把详细的给大家看看吧!我有三个页面!第一个页面是登录的!不用写了吧?第二个页面是检查页面!下面是代码!
<%
dim sql
dim rs
dim seekerrs
dim founduser
dim CardId
dim companyid
dim password
dim errmsg
dim founderr
founderr=false
FoundUser=false
CardId=trim(request("CardId"))
password=cstr(Request("password"))

set rs=server.createobject("adodb.recordset")
sql="select * from userlist where CardId='"& CardId &"'"
rs.open sql,conn,3,3
if not(rs.bof and rs.eof) then
if password=rs("password") and CardId=rs("CardId") then
response.cookies("CardId")=true
response.redirect "userhome.asp"
else
response.write "<link rel='stylesheet' type='text/css' href='css/style.css'>"
response.write "<body bgcolor='#ffffff'>"
response.write "您输入的用户名和密码不对,请输入正确的名字和密码,方可进入"
end if
end if
rs.close
conn.close
set rs=nothing
set conn=nothing
%>
第三个页面是通过检查后登录的页面!现在是以userhome.asp?CardId="&CardId&"形式!我现在想把它改为以userhome.asp形式!第三个页面在怎么改??下面是第三个页面的代码!
<!--#include file="conn.asp"-->
<%
if not isEmpty(request.QueryString("CardId")) then
CardId=request.QueryString("CardId")
else
CardId=1
end if


Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "Select * From userlist where CardId='"& CardId &"'", conn,3,3
rs.close
%>
<%
dim conn,rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "Select * From userlist where CardId='"& CardId &"'", conn,3,3
%>
<html>
<head>
<title>欢迎<%=rs("CardId")%>登录</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="bluepagenews.css" type="text/css">
</head>

<body bgcolor="#FFFFFF" text="#000000"><br><br>
<center>
<table border="0" width="100%" cellpadding="4" bgcolor="#000000" cellspacing="1" cellpadding="6">
<TR bgcolor=F0F0F0>
<td width="20%" height="14">你的卡号是:<%=rs("CardId")%></td></tr>
</table>
</form>
</body>
</html>
回复
stonepeter 2002-08-02
lostmoon(lostmoon):你不要说用session的,他会晕的~ :)
在传参数那个页面用:
<FORM METHOD=POST ACTION="userhome.asp">
^^^^--这个地方你原来可能是GET,你检查一下~
-----------------------------------------------------
<INPUT TYPE="hidden" NAME="cardid" VALUE="卡号">
</FORM>
在接收那个页面用:

<%
cardid=Request.Form("CardId") '原来你是这么用的request.QueryString("CardId"))
if cardid="" then
cardid=1
end if

Set objRs = Server.CreateObject("ADODB.Recordset")
objRs.Open "Select * From userlist where CardId='"& CardId &"'", objConn,3,3
objRs.close
objConn.Close
%>
回复
swhrzl 2002-08-02
我把详细的给大家看看吧~有三个页面!
第一个是登录页面!这个应该不用写了吧?
第二个是检查的!下面是源代码:
<!--#include file=conn.asp-->
<%
dim sql
dim rs
dim seekerrs
dim founduser
dim CardId
dim companyid
dim password
dim errmsg
dim founderr
founderr=false
FoundUser=false
CardId=trim(request("CardId"))
password=cstr(Request("password"))

set rs=server.createobject("adodb.recordset")
sql="select * from userlist where CardId='"& CardId &"'"
rs.open sql,conn,3,3
if not(rs.bof and rs.eof) then
if password=rs("password") and CardId=rs("CardId") then
response.cookies("CardId")=true
response.redirect "userhome.asp"
else
response.write "<link rel='stylesheet' type='text/css' href='css/style.css'>"
response.write "<body bgcolor='#ffffff'>"
response.write "您输入的用户名和密码不对,请输入正确的名字和密码,方可进入"
end if
end if
rs.close
conn.close
set rs=nothing
set conn=nothing
%>
第三个是通过检查后进入的页面!我不想有以userhome.asp?cardid="&cardid&"的表示方式。。改为userhome.asp就能直接查到该卡的东西!!
回复
swhrzl 2002-08-02
不可以~~~
回复
lostmoon 2002-08-02
你可以这样:

在上一页面中:
setcookies("cardid")="你需要传递的值"

在下一页面中:
cardid=request.cookies("cardid")

这样,cardid 的变量值就是你传过来的卡号了。可以直接用。

同样,也可以用session, 原理一样。

若是使用post方法或get方法递交的话,可以设置<input type="hidden" name="cardid" value="你需要传递的值">。
回复
TomLi 2002-08-02
传表单的时候传递一个hidden变量就ok了!
<FORM METHOD=POST ACTION="userhome.asp">
<INPUT TYPE="hidden" NAME="cardid" VALUE="卡号">
</FORM>
回复
nice90 2002-08-02
如果你是用的post方式,在服务器端接收页应该使用
<%
cardid=Request.Form("cardid")
if cardid="" then
cardid=1
end if

Set objRs = Server.CreateObject("ADODB.Recordset")
objRs.Open "Select * From userlist where CardId='"& CardId &"'", objConn,3,3
objRs.close
objConn.Close
%>
回复
swhrzl 2002-08-02
我是用post方式呀~~`
回复
114 2002-08-02
method=post
就不行了么?
请把问题说清楚点!
回复
swhrzl 2002-08-02
我是问!我是卡号登录的~进入页面我不想用userhome.asp?CardId=“卡号”的形式,,,我想改为userhome.asp这样~不要在后面加上 ?CardId=“卡号” 这个卡号~~
回复
stonepeter 2002-08-02
反了,要用POST方式,不要用GET方式~
回复
stonepeter 2002-08-02
天啦,我怎么没看懂想问什么?到底是不是想“悄悄地”把CardId传给下一个页面?还是……,看不懂啦。
回复
stonepeter 2002-08-02
不用POST方式吧?
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告