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避免重复提交数据内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复