概述
php防止数据重复提交:
//获取来访真实IP
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){
$key = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){
$key = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}elseif($HTTP_SERVER_VARS["REMOTE_ADDR"]){
$key = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}elseif(getenv("HTTP_X_FORWARDED_FOR")){
$key = getenv("HTTP_X_FORWARDED_FOR");
}elseif (getenv("HTTP_CLIENT_IP")){
$key = getenv("HTTP_CLIENT_IP");
}elseif (getenv("REMOTE_ADDR")){
$key = getenv("REMOTE_ADDR");
}else{
$key = "Unknown";
}
//防重复提交
$lifeTime = 3600;
session_set_cookie_params($lifeTime); //设置session有效期1小时
session_start();
if(empty($_SESSION['last'])){ //限制相同IP提交
$_SESSION['last'] = $key;
}else if($_SESSION['last'] == $key){
echo "<script>alert('一小时内请勿多次提交!');history.go(-1);</script>";
die();
}
if(empty($_SESSION['content']) || $_SESSION['content'] <> $content){ //限制相同内容提交
$_SESSION['content'] = $content;
}else if($_SESSION['content'] == $content){
echo "<script>alert('一小时内请勿重复提交!');history.go(-1);</script>";
die();
}
mysql写入数据,IGNORE防止相同数据重复插入(如果数据库表中有相同数据就会忽略本条插入数据,执行后返回0):
INSERT IGNORE INTO zice (name,age,sex,tel,content,time) VALUES ('name','age','sex','tel','content','time'); //插入数据
最后
以上就是羞涩黄蜂为你收集整理的php及MySQL避免重复提交数据的全部内容,希望文章能够帮你解决php及MySQL避免重复提交数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复