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