PHP에서 방문자 수를 확인하는 방법: 1. 두 개의 데이터베이스 테이블을 만듭니다. 2. 횟수를 표시할 페이지에 "$realip=getip();modifyipcount($realip);" 코드를 추가합니다. 계산되었습니다.
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.4, Dell G3 컴퓨터.
PHP에서 방문자 수를 달성하는 방법은 무엇입니까?
PHP는 페이지 방문 통계를 정확하게 구현합니다
1. 두 개의 데이터베이스 테이블이 필요합니다
①, IP 기록 테이블
create table ip (ipid int(11) NOT NULL default '',ipdata varchar(16) NOT NULL default '',iptime varchar(30) NOT NULL default '', primary key(ipid));
참고: ipdata는 기록된 방문자의 IP이고, iptime은 기록된 IP 방문
②입니다.
create table count (todayipcount int(11) NOT NULL default '',allipcount int(11) NOT NULL default '',day varchar(2) NOT NULL default ''); insert into count (todayipcount,allipcount,day) values ('0','0','0');2. 구현 방법 횟수를 세고 싶은 페이지에 다음 코드를 입력하세요.
$realip=getip(); modifyipcount($realip);getip() 함수의 코드는 다음과 같습니다.
function getip() { if (isset($_SERVER)) { if (isset($_SERVER[HTTP_X_FORWARDED_FOR]) && strcasecmp($_SERVER[HTTP_X_FORWARDED_FOR], "unknown"))//代理 { $realip = $_SERVER[HTTP_X_FORWARDED_FOR]; } elseif(isset($_SERVER[HTTP_CLIENT_IP]) && strcasecmp($_SERVER[HTTP_CLIENT_IP], "unknown")) { $realip = $_SERVER[HTTP_CLIENT_IP]; } elseif(isset($_SERVER[REMOTE_ADDR]) && strcasecmp($_SERVER[REMOTE_ADDR], "unknown")) { $realip = $_SERVER[REMOTE_ADDR]; } else { $realip = 'unknown'; } } else { if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) { $realip = getenv("HTTP_X_FORWARDED_FOR"); } elseif(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) { $realip = getenv("HTTP_CLIENT_IP"); } elseif(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) { $realip = getenv("REMOTE_ADDR"); } else { $realip = 'unknown'; } } return $realip; }참고: 이 함수 코드에는 modifyipcount() 함수 코드는 인터넷 곳곳에 있습니다:
function modifyipcount($ip) { <-----------------------数据库的连接省略-------------------------> $query="SELECT * FROM ip where ipdata='".$ip."'"; $result=mysql_query($query); $row=mysql_fetch_array($result); $iptime=time(); $day=date('j'); if(!$row) { $query="INSERT INTO ip (ipdata,iptime) VALUES ('".$ip."','".$iptime."')"; mysql_query($query); $query="SELECT day,todayipcount,allipcount FROM count"; $result=mysql_query($query); $row=mysql_fetch_array($result); $allipcount=$row['allipcount']+1; $todayipcount=$row['todayipcount']+1; if($day==$row['day']) { $query="UPDATE count SET allipcount='".$allipcount."',todayipcount='".$todayipcount."'"; } else { $query="UPDATE count SET allipcount='".$allipcount."',day='".$day."',todayipcount='1'"; } mysql_query($query); } else { $query="SELECT iptime FROM ip WHERE ipdata='".$ip."'"; $result=mysql_query($query); $row=mysql_fetch_array($result); $query="SELECT day,todayipcount,allipcount FROM count"; $result=mysql_query($query); $row1=mysql_fetch_array($result); if($iptime-$row['iptime']>86400) { $query="UPDATE ip SET iptime='".$iptime."' WHERE ipdata='".$ip."'"; mysql_query($query); $allipcount=$row1['allipcount']+1; if($day==$row1['day']) { $query="UPDATE count SET allipcount='".$allipcount."'"; } else { $query="UPDATE count SET allipcount='".$allipcount."',day='".$day."',todayipcount='1'"; } mysql_query($query); } if($day!=$row1['day']) { $query="UPDATE count SET day='".$day."',todayipcount='1'"; mysql_query($query); } } }참고: 여기서는 데이터베이스에서 todayipcount 및 allipcount를 호출하여 오늘의 액세스 IP를 얻을 수 있도록 24시간 이내에 액세스 통계 수에 1만 추가하도록 설정했습니다. 테이블 수 개인적으로 허씨의 접속 IP는 매우 정확하다고 생각합니다. 모두가 다른 의견을 가질 수 있습니다. 추천 학습: "
PHP 비디오 튜토리얼"
위 내용은 PHP에서 방문자 수를 달성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!