php及MySQL避免重复提交数据

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 ""; 
		die();
	}
	if(empty($_SESSION['content']) || $_SESSION['content'] <> $content){	//限制相同内容提交
		$_SESSION['content'] = $content;
	}else if($_SESSION['content'] == $content){
		echo ""; 
		die();
	}

mysql写入数据,IGNORE防止相同数据重复插入(如果数据库表中有相同数据就会忽略本条插入数据,执行后返回0):

INSERT IGNORE INTO zice (name,age,sex,tel,content,time) VALUES ('name','age','sex','tel','content','time');					//插入数据

你可能感兴趣的:(php)