2016-07-14 4 views
1

PHP 페이지에 카운터가 있습니다. var = 1이라고 가정 해 봅시다. 사용자가 var = var-1을 방문했을 때를 원합니다. 그것은 0으로 설정됩니다. 그리고 그것은 잘 작동합니다.PHP의 카운터 및 whatsapp로 미리보기 facebook twitter

문제는 Whatsapp 또는 Facebook에서 웹 사이트를 공유 할 때 문제입니다. 해당 앱을 생성하는 미리보기가 페이지를 방문하여 내 var에 영향을줍니다.

페이지가 직접 방문하는지 또는 미리보기 링크를 생성하기 위해 방문 중인지 어떻게 알 수 있습니까?

+0

매우 재미있는 질문입니다. – FirstOne

+0

남자, 단어가 아니라 문제입니다, 영어가 제 첫 언어가 아닙니다 – user774375

+0

트위터 페이스 북 등의 사용자 에이전트를 찾고 PHP를 방문 할 때 확인하십시오. – devOp

답변

3

$_SERVER['HTTP_REFERER']을 사용하여 요청이 어디에서 왔는지 확인할 수 있습니다. 사용자 에이전트를 현재 페이지로 참조한 페이지 주소 (있는 경우)를 반환합니다. 리퍼러가 Facebook 또는 Whatsapp인지 확인하고 변수 카운터를 비활성화 할 수 있습니다.

+0

그 앱의 리퍼러를 알고 있습니까? – user774375

+0

Referers 값은'facebook.com' 또는'whatsapp'을 포함합니다. –

+0

if (strstr ($ _ SERVER [ 'HTTP_USER_AGENT'], 'facebookexternalhit')) {...} 이것은 페이스 북에서 작동하지만 whatsapp와 twitter도 필요합니다. – user774375

1
if ((strstr(strtolower ($_SERVER['HTTP_USER_AGENT']),'facebook')) || (strstr(strtolower ($_SERVER['HTTP_USER_AGENT']),'whatsapp')) || (strstr(strtolower ($_SERVER['HTTP_USER_AGENT']),'twitter'))) { 
... 
} 
+2

사이드 노트 :'strstr'은 대소 문자를 구분하지 않습니다 형제 : [stristr] (http://php.net/manual/ ko/function.stristr.php) – FirstOne