Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mencapai bilangan pelawat dalam php
Cara untuk merealisasikan bilangan pelawat dalam PHP: 1. Buat dua jadual pangkalan data; 2. Tambah kod "$realip=getip();modifyipcount($realip);" mengira bilangan pelawat.
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.4, komputer Dell G3.
Bagaimana untuk mencapai bilangan pelawat dalam php?
PHP melaksanakan statistik lawatan halaman dengan tepat
1 Dua jadual pangkalan data diperlukan
①, jadual rekod 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));
Nota: ipdata ialah ip yang direkodkan bagi pelawat, iptime ialah capaian ip yang direkodkan
②, jadual statistik
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. Kaedah pelaksanaan
dalam Letakkan kod berikut pada halaman di mana anda ingin mengira bilangan kali:
$realip=getip(); modifyipcount($realip);
Kod fungsi getip() ialah:
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; }
Nota: Fungsi ini kod Terdapat kod fungsi
modifyipcount() di mana-mana sahaja di Internet:
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); } } }
Nota: Di sini saya menetapkan bilangan statistik akses dalam masa 24 jam untuk hanya menambah 1
supaya kita memanggil Todayipcount dan allipcount dalam pengiraan jadual pangkalan data boleh digunakan untuk mendapatkan IP capaian hari ini dan IP capaian keseluruhan Saya secara peribadi berpendapat ia adalah sangat tepat. Semua orang dialu-alukan untuk mempunyai pendapat yang berbeza.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk mencapai bilangan pelawat dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!