1#楼 |
|
|
回复人:danssion |
注册时间:2005-06-30 |
主题/回复:43/107 |
积分:723 |
等级:★★★(六级) |
称号:声名鹊起 |
|
用户联系方式已设置为保密
|
|
1#楼 发表于2005-11-19 19:15:47
评分:1
|
|
|
2#楼 |
|
|
回复人:lansure |
注册时间:2005-11-15 |
主题/回复:2/1 |
积分:411 |
等级:★★☆(五级) |
称号:略有小成 |
|
|
|
2#楼 发表于2005-11-19 20:16:59
评分:×
|
|
|
3#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
3#楼 发表于2005-11-20 22:18:40
评分:1
|
|
防止重复插入纪录,一般有两种情况:
一是无意的情况。由于程序编写的不严谨,造成有些用户在提交了信息后不小心刷新了页面,或者由于网络速度的原因可能点了多次提交,造成重复插入。这种情况容易解决,在插入数据库页面执行完毕后,用自动转页函数转到另外一个页面,比如从reg.php输入数据,提交到write.php,在write.php中将接收到的数据写入数据库,然后自动跳转到ok.php,在ok.php中提示插入成功!这样用户基本上点了提交按钮之后看不到write.php而是看到了ok.php。这样即使刷新ok.php也不会导致重复插入。因为插入的代码在write.php中。
第二种情况是恶意的刷新。有的人故意想通过刷新来产生大量垃圾信息,或者想恶意挤占数据库资源,这样的情况你使用上面的方法是不行的,因为他可以点击后退按钮来刷新write.php,所以这时候可以加一个时间限制,来防止重复插入,比如很多论坛都设置了在一定时间内不能重复发贴。也就是记录下每个用户的最后发贴时间,如果不是用户系统,而是任何人都可以发贴,那可以判断IP地址。这样,当某个用户再往数据库中写入纪录时,如果没有达到所要求的间隔时间,那么不进行插入操作。这样可以防止重复插入。 |
|
4#楼 |
|
|
回复人:Miyahoo |
注册时间:2004-04-04 |
主题/回复:39/255 |
积分:1210 |
等级:★★★☆(七级) |
称号:论坛贤士 |
|
|
|
4#楼 发表于2005-11-25 17:14:37
评分:1
|
|
或者设置禁止缓存叶面。
有的网站上,你刷新页面出现网页已过期的提示,就是这样做的。 |
|