以下均为假设,不知是否可行,请指教。
表table,三个字段ID、name、mark。
-------------------------
ID name mark
1 张1 null
2 张2 null
3 张3 null
4 张1 null
5 张2 null
-------------------------
两个页面如下:
1.asp ―― 在页头清空cookies("number")
查询显示表table的记录,并在最后面附多选框checkbox,value=rs("id")。
用JS判断checkbox选中的数目,赋值给cookies("number")
将cookies和数组发送给2.asp
2.asp ―― 接收cookies("number")以及数组
页头UBound(split(数组,","))对比cookies("number")是否一致
如果一致则往下执行――用数组循环updata 表table set mark="是" where id=数组中的id
返回1.asp页面
假设――按照断电对操作产生影响
1、文件1.asp、2.asp以及数据库都放在虚拟主机上
2、租用虚拟主机――空间商都有备用电源保证供电――不用考虑主机方面的断电――只考虑客户端的断电
3、客户端:
如果 在客户端数据已全部发送给2.asp 后 客户端断电
(服务器端的)1.asp和2.asp正常运行――没有影响
如果 在客户端数据已全部发送给2.asp 前 客户端断电
在2.asp页头对比的cookies("number")与UBound(split(数组,","))不一致――不执行相关操作――似乎也没影响
问题1:不知道这个假设对不对?
问题2:如果这个假设正确的话。还有什么其他因素会影响到操作的一致性?
求指教!
------解决方案--------------------
客户端断电?
这么奇葩的条件,你的设置根本没有必要,只要提交过来的数据就处理,不提交就不处理,这个和客户端断电有什么必要关系吗?你要做的是校验一下发送过来的数据是否完全,不过这个和客户端断电一也没直接关系,因为客户端不可信任,你总是要做这个校验的。