v2.5.2
Giriş yap

Ziyaretçileri Verilerini DB'de tutma problemi.

Anonim
350 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Aşağıda bulunan fonksiyonu ziyaretçi verilerini tutabilmek için kullanacağım. Sitemde nasıl kullanabilirim? OOP kullanıyorum bunu dikkate alarak cevaplamanız benim için çok önemli.

    public function TekilCogul()
	{
		date_default_timezone_set('Europe/Istanbul');
		$tarih=date("Y-m-d");
		$IP=$this->ipGetir();
		$TARAYICI=$this->tarayiciGetir();
		$tarayicistatistic=$this->VeriGetir("ziyarettarayici","","","ORDER BY ID ASC");
		
		$konts=$this->VeriGetir("ziyaretciler","WHERE tarih=? AND IP=?",array($tarih,$IP),"ORDER BY ID ASC",1);
		if(count($konts)>0 && $konts!=false)
		{
			$c=($konts[0]["cogul"]+1);
			$ID=$konts[0]["ID"];
			$gunc=$this->SorguCalistir("UPDATE ziyaretciler","SET cogul=? WHERE ID=?",array($c,$ID),1);
		}
		else
		{
			if(!empty($_COOKIE["siteSettingsUse"]))
			{
			}
			else
			{
				$eks=$this->SorguCalistir("INSERT INTO ziyaretciler","SET IP=?, tarayici=?, tekil=?, cogul=?, xr=?, tarih=?",array($IP,$TARAYICI,1,1,1,$tarih));
				@setcookie("siteSettingsUse", md5(rand(1,99999)), time() + (60*60*8));
				if($TARAYICI=="Google Chrome"){
					$tbl=($tarayicistatistic[0]["ziyaret"]+1);
					$tiid=$tarayicistatistic[0]["ID"];
					$ersa=$this->SorguCalistir("UPDATE ziyarettarayici","SET ziyaret=? WHERE ID=?",array($tbl,$tiid),1);
				}else if($TARAYICI=="İnternet Explorer"){
					$tbl=($tarayicistatistic[1]["ziyaret"]+1);
					$tiid=$tarayicistatistic[1]["ID"];
					$ersa=$this->SorguCalistir("UPDATE ziyarettarayici","SET ziyaret=? WHERE ID=?",array($tbl,$tiid),1);
				}else if($TARAYICI=="Firefox"){
					$tbl=($tarayicistatistic[2]["ziyaret"]+1);
					$tiid=$tarayicistatistic[2]["ID"];
					$ersa=$this->SorguCalistir("UPDATE ziyarettarayici","SET ziyaret=? WHERE ID=?",array($tbl,$tiid),1);
				}else{
					$tbl=($tarayicistatistic[3]["ziyaret"]+1);
					$tiid=$tarayicistatistic[3]["ID"];
					$ersa=$this->SorguCalistir("UPDATE ziyarettarayici","SET ziyaret=? WHERE ID=?",array($tbl,$tiid),1);
				}
			}
		}
		
		/*sayfa hızı hesaplama*/
		$start = microtime(true);
		$end = microtime(true);
		$time = mb_substr(($end - $start),0,4);
		$tarah=$this->SorguCalistir("UPDATE ziyarettarayici","SET hiz=? WHERE ID=?",array($time,5),1);
	}
	public function tarayiciGetir()
	{
		$tarayiciBul=$_SERVER["HTTP_USER_AGENT"];
		$msie=strpos($tarayiciBul,'MSIE') ? true: false;
		$firefox=strpos($tarayiciBul,'Firefox') ? true : false;
		$chrome=strpos($tarayiciBul,'Chrome') ? true : false;
		if(!empty($msie) && $msie!=false)
		{
			$tarayici="İnternet Explorer";
		}
		else if(!empty($firefox) && $firefox!=false)
		{
			$tarayici="Firefox";
		}
		else if(!empty($chrome) && $chrome!=false)
		{
			$tarayici="Google Chrome";
		}
		else
		{
			$tarayici="Diğer";
		}
		return $tarayici;
	}
	public function ipGetir(){
		if(getenv("HTTP_CLIENT_IP")) {
			$ip = getenv("HTTP_CLIENT_IP");
		} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
			$ip = getenv("HTTP_X_FORWARDED_FOR");
			if (strstr($ip, ',')) {
				$tmp = explode (',', $ip);
				$ip = trim($tmp[0]);
			}
		} else {
		$ip = getenv("REMOTE_ADDR");
		}
		return $ip;
	} 
m100
1081 gün önce

tüm kod parçasını atmaktansa sorununu düzgün bir şekilde yazıp sadece gerekli yeri atarsan yardımcı olabilirim