2012-07-22 3 views
0

구현 내가내 웹 사이트에 대한 방문자 추적 시스템

트랙 방문자 시스템을 원하는 나는이 하나 HERE 을 발견하지만 설정 후, 오류가 발생합니다. 코드의 첫 번째 무리가 이동하는 곳

Fatal error: Cannot redeclare getBrowserType() (previously declared

는 또한 모른다. 추적하고 싶은 페이지 또는 다른 곳에 있습니까? 이 일 노호 코드를 삭제 한 후

EDIT *

. 그러나 MySQL 데이터베이스의 방문자 페이지 및 방문자 날짜는 비어 있습니다. 이 코드는 어디에 두어야합니까? 그리고 나는 뭔가를 바꿔야 만합니까? 그렇지 않으면 두 배의 아무것도 작동하지 않습니다 :

function getBrowserType() { 
if (!empty($_SERVER['HTTP_USER_AGENT'])) 
{ 
    $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT']; 
} 
else if (!empty($HTTP_SERVER_VARS['HTTP_USER_AGENT'])) 
{ 
    $HTTP_USER_AGENT = $HTTP_SERVER_VARS['HTTP_USER_AGENT']; 
} 
else if (!isset($HTTP_USER_AGENT)) 
{ 
    $HTTP_USER_AGENT = ''; 
} 
if (ereg('Opera(/|)([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) 
{ 
    $browser_version = $log_version[2]; 
    $browser_agent = 'opera'; 
} 
else if (ereg('MSIE ([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) 
{ 
    $browser_version = $log_version[1]; 
    $browser_agent = 'ie'; 
} 
else if (ereg('OmniWeb/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) 
{ 
    $browser_version = $log_version[1]; 
    $browser_agent = 'omniweb'; 
} 
else if (ereg('Netscape([0-9]{1})', $HTTP_USER_AGENT, $log_version)) 
{ 
    $browser_version = $log_version[1]; 
    $browser_agent = 'netscape'; 
} 
else if (ereg('Mozilla/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) 
{ 
    $browser_version = $log_version[1]; 
    $browser_agent = 'mozilla'; 
} 
else if (ereg('Konqueror/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) 
{ 
    $browser_version = $log_version[1]; 
    $browser_agent = 'konqueror'; 
} 
else 
{ 
    $browser_version = 0; 
    $browser_agent = 'other'; 
} 
return $browser_agent; 
} 

Here is browser types code: 
$visitor_browser = getBrowserType(); 
Now we need to define hour, minute, day, month and year of visitors: 

$visitor_hour = date("h"); 
$visitor_minute = date("i"); 
$visitor_day = date("d"); 
$visitor_month = date("m"); 
$visitor_year = date("y"); 
And next we need to find out who is sending us visitors so we can thank them. 

$visitor_refferer = gethostbyname($HTTP_REFERER); 
So to get the full url of our page we will use this function: 

function selfURL() { 
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; 
$protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s; 
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]); 
return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI']; 
} 
function strleft($s1, $s2) { return substr($s1, 0, strpos($s1, $s2)); 
} 
Now we have our page, we will store it on a variable: 

$visited_page = selfURL(); 
+1

당신이 그 함수의 선언으로 파일을 두 번 포함되지 않습니다 확신? – madfriend

+0

내가 제공 한 웹 사이트에서 코드를 사용했습니다. 그러나 실제로 두 번. 그것은 조금 고정되어 있지만 또 다른 문제는 조금 내 질문을 변경합니다 – MOTIVECODEX

+1

'getBrowserType'을'getBrowserTypeCustom'으로 변경하고 해당 함수에 대한 모든 호출을 검색/대체하십시오. 이 함수는 이미 다른 곳에 정의되어 있으므로이 오류가 발생합니다. – Brendan

답변

3

함수가 이미 존재 말하는. 새 함수 이름 (예 : myGetBrowserType())으로 수정하거나 프로젝트의 다른 곳에서 동일한 기능이 사용되는 경우 전체 함수 선언을 제거하십시오.

function myGetBrowserType() {

다음 다른 곳 ...

[..] myGetBrowserType( [..]

+0

나는 나의 질문을 조금 바꿨다. 기본 페이지에서 일부 코드를 삭제했습니다. 그러나 이제는 일이 제대로 작동하지 않을 것입니다. – MOTIVECODEX

관련 문제