收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 3420|回复: 7

[asp] 请Response.redirect的问题

[复制链接]
发表于 2014-3-31 16:47:05 | 显示全部楼层 |阅读模式
我刚才正在看一个ASP做成的后台代码,
里面有一段是这样的,
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="checklogin.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<link rel="stylesheet" href="../css/css.css">
</head>

这个是页面的是index.asp,

checklogin.asp的代码是
<%
If Request.QueryString("action")="exit" Then
Session("Mname")=""
Response.Redirect("/index.asp")
End IF
If Session("Mname")="" Then
  Response.Write("<script language='javascript'>location.href='login.asp';</script>")
End If
%>

我想问两个问题,第一是,checklogin.asp里的,Response.Redirect("/index.asp"),这一行代码,实现的话,从重新定向到index.asp重新执行<!--#include file="checklogin.asp"-->这行代码吗?这样是不是就成了死循环了?

第二个问题是,Request.QueryString("action")="exit" ,这段代码是怎么理解的。
希望高手帮解答,万分感谢~



 楼主| 发表于 2014-3-31 19:15:41 | 显示全部楼层

没有人知道吧?
回复 支持 反对

使用道具 举报

发表于 2014-3-31 22:51:44 | 显示全部楼层
事件不一样的,action=exit时才清空Session的,这两者不冲突。
Request.QueryString("action")="exit"指的传过来的action=exit时才执行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-1 10:19:16 | 显示全部楼层
Avram 发表于 2014-3-31 22:51
事件不一样的,action=exit时才清空Session的,这两者不冲突。
Request.QueryString("action")="exit"指的 ...

老大,我还是不太明白,你说的,
这样吧,我想知道,Request.QueryString("action")="exit"是怎么来的?就是,action=exit是从哪里来的?我查了login.asp,没有发现关于这个的任何东西。
回复 支持 反对

使用道具 举报

发表于 2014-4-1 11:19:31 | 显示全部楼层
checklogin.asp?action=exit
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-1 12:35:50 | 显示全部楼层
yydyao 发表于 2014-4-1 11:19
checklogin.asp?action=exit

问题就在这里了,并没有checklogin.asp?action=exit了,在登陆login.asp并没有找到
回复 支持 反对

使用道具 举报

发表于 2014-4-1 14:46:40 | 显示全部楼层
sishuangyy1943 发表于 2014-4-1 12:35
问题就在这里了,并没有checklogin.asp?action=exit了,在登陆login.asp并没有找到

在登出的连接那里
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-1 15:19:04 | 显示全部楼层
WellFrog 发表于 2014-4-1 14:46
在登出的连接那里

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
    response.Buffer = true
        response.Expires = 0
        response.ExpiresAbsolute = now()-1
        response.CacheControl="no-cache"
       
%>
<!--#include file="include/conn.asp" -->
<!--#include file="include/function.asp" -->
<!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=gb2312" />
<title>无标题文档</title>
<script language="javascript">
function Mycheck(){
  if(document.all.txt_name.value==""){
  alert('请输入管理员名称!');return false;}
  if(document.all.txt_passwd.value==""){
  alert('请输入密码!');return false;}
  if(document.all.verifycode.value==""){
  alert('请输入验证码!');return false;}
}
</script>
<%
    session("verifycode") = randStr(6)
if Not Isempty(request("login")) then
        txt_name = Str_filter(request.Form("txt_name"))
        txt_passwd = Str_filter(request.Form("txt_passwd"))
        txt_verifycode1 = Str_filter(request.Form("verifycode1"))
        txt_verifycode2 = Str_filter(request.Form("verifycode2"))
       
       
        if txt_verifycode1<>txt_verifycode2 then
        response.Write("<script language='javascript'>alert('验证码不正确!');location.href='login.asp'</script>")
        response.End()
        else
        session("varifycode")=""
        end if
       
        if txt_name<>"" then
            set rs=server.CreateObject("adodb.recordset")
            sqlstr="select Mname, Mpasswd from tab_manager where Mname='"&txt_name&"'"
            rs.open sqlstr,conn,1,1
                if rs.eof then
                    response.Write("<script language='javascript'>alert('无此用户名!');location.href='login.asp'</script>")
                else
                        if rs("Mpasswd")<>txt_passwd then
                            response.Write("<script language='javascript'>alert('密码不正确!');location.href='login.asp'</script>")
                        else
                            session("Mname")=rs("Mname")
                                                Response.Redirect("index.asp")
                        end if
               end if
   
        else
    errstr="请输入管理员名称!"
    end if
end if
%>
       
</head>

<body>
<form name="form1" method="post" action="">
<table width="351" height="117" border="0" cellpadding="0" cellspacing="0" align="center" style="margin-top:200px">
  <tr>
    <td width="100">用户名:</td>
    <td width="205">
      <input type="text" name="txt_name" id="txt_name" size="16" maxlength="50" /></td>
  </tr>
  <tr>
    <td>密码:</td>
    <td><input type="password" name="txt_passwd" id="txt_passwd" size="16" maxlength="50" /></td>
  </tr>
  <tr>
    <td>验证码:</td>
    <td><input name="verifycode1" type="text" size="6" maxlength="6" id="verifycode1"  />
    <span style="color:#930"><%=session("verifycode")%></span>
     
    <input name="verifycode2" type="hidden" value="<%= session("verifycode")%>"  id="verifycode2"/></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="login" id="login" value="提交" onClick="return Mycheck();" />&nbsp;&nbsp;<input name="" type="reset" value="重置" /></td>
  </tr>
</table>

</form>
</body>
</html>


你看什么都没有
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-10-25 06:52 , Processed in 0.093515 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表