仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1632|回复: 18
打印 上一主题 下一主题

[学习教程] ASP编程:我的防止数据反复提交的办法,不敢独享...

[复制链接]
飘灵儿 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:39:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Active Server Page技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。数据|反复|反复提交     ASP中的数据提交是一个十分主要并且经常使用的环节,若何防止数据反复提交是个罕见的成绩,普通数据反复提交有2种体例:1、刷新提交后的页面,会提醒从头发送信息,选择重试就会反复提交;2、按back前往再提交;所以良多人都问若何制止back按钮的成绩,这个最少今朝是没法真正做到的。

  我的思绪是:提交数据的时分做数据正当校验,校验经由过程后翻开一个“埋没”的窗口(实际上是显示在屏幕以外的一个小窗口)来停止提交处置,数据保留胜利后刷新父窗口并用alert显示保留形态然后封闭此隐含窗口,如许用户就没法用back前往并且提交后的窗口已封闭,防止反复刷新。

  上面是我的演示,只要2个文件:submitdemo.asp 和 save.asp,十分复杂,只需略微修正就能够使用到你的法式里,但愿对人人有匡助。

1.submitdemo.asp 演示数据输出和校验主法式
------------------------------------------

<html>
<head>
<title>new/edit</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript">
<!--
//翻开一个地位在屏幕以外的窗口
function NewHideWindow(mypage,myname)
{
    LeftPosition = parseInt(screen.width)+1;
    TopPosition = parseInt(screen.height)+1;
    settings ='height=100,width=100,top='+TopPosition+',left='+LeftPosition+',scrollbars=0,resizable=0,status=0'
    window.open(mypage,myname,settings)
}
//数据校验函数
function validate(theForm)
{
    if(theForm.text1.value == "")
        {
        alert("请填写text1的数据!");
        theForm.text1.focus();
        return (false);
        }
    if(theForm.text2.value == "")
        {
        alert("请填写text2的数据!");
        theForm.text2.focus();
        return (false);
        }
    return (true);
}
//挪用下面两个函数校验输出的数据并翻开保留数据窗口
function savewin(theForm)
{
   if(validate(theForm))
   {
      NewHideWindow('about:blank','SaveWindow');
      return true;
   }
   return false;
}
-->
</script>
</head>

<body bgcolor="#FFFFFF">
<!--注重这里的 onsubmit 的函数挪用和 target 中的窗口名字要和 savewin 函数中NewHideWindow写的窗口名分歧(注重巨细写)-->
<form name="form1" action="save.asp"  onsubmit="return savewin(this);" target="SaveWindow">
  text1:
  <input type="text" name="text1"><br>
  text2:
  <input type="text" name="text2">
  <input type="submit" name="Submit" value="提 交">
</form>
</body>
</html>


2.save.asp 保留数据处置
------------------------

<%
Dim intStatus
'**********************************************************
'*  保留数据到数据库,在此最好再停止一次数据的正当校验    *
'*  ...                                                   *
'*  If 保留胜利 Then                                      *
'*     intStatus = 1                                      *
'*  Else                                                  *
'*     intStatus = -1                                    </p>  因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。
若天明 该用户已被删除
沙发
发表于 2015-2-4 04:52:34 | 只看该作者
那么,ASP.Net有哪些改进呢?
深爱那片海 该用户已被删除
板凳
发表于 2015-2-5 00:05:28 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
兰色精灵 该用户已被删除
地板
发表于 2015-2-10 23:07:35 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
再现理想 该用户已被删除
5#
发表于 2015-3-1 17:09:14 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
愤怒的大鸟 该用户已被删除
6#
发表于 2015-3-2 03:33:42 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
admin 该用户已被删除
7#
发表于 2015-3-4 11:56:29 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
谁可相欹 该用户已被删除
8#
发表于 2015-3-11 19:24:08 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
柔情似水 该用户已被删除
9#
发表于 2015-3-19 09:15:53 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
不帅 该用户已被删除
10#
发表于 2015-3-22 02:52:17 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
乐观 该用户已被删除
11#
发表于 2015-4-1 08:40:43 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
小女巫 该用户已被删除
12#
发表于 2015-4-4 11:52:21 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
因胸联盟 该用户已被删除
13#
发表于 2015-4-14 22:37:13 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
灵魂腐蚀 该用户已被删除
14#
发表于 2015-4-16 12:11:55 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
小妖女 该用户已被删除
15#
发表于 2015-5-6 06:11:41 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
飘飘悠悠 该用户已被删除
16#
发表于 2015-5-12 10:28:31 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
透明 该用户已被删除
17#
发表于 2015-6-8 16:06:53 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
莫相离 该用户已被删除
18#
发表于 2015-6-24 11:44:14 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
简单生活 该用户已被删除
19#
发表于 2015-7-8 04:26:16 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 19:10

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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