php - 我如何收集有关我网站访问者的信息?

标签 php javascript statistics

<分区>

有什么方法可以存储:

  • 访问者的 IP 地址
  • 访问者什么时候访问我的网站
  • 他们访问了多少次

我知道有一种无需 PHP 的方法,只需使用 Javascript 和一些文本文件即可。

我如何在 PHP 中执行此操作?

最佳答案

这是一项非常简单的任务。

您可以在 php 的帮助下完成此操作。您可以获得有关访问您站点的客户的多种类型的信息。您可以了解 ip 地址、日期、时间、操作系统、浏览器、该 ip 地址的 isp 等等。您将不得不使用 php 和 mysql!

首先在mysql中创建一个表。

create_table_track.php

<?php

$server = "localhost";
$username = "username";
$password = "password";
$database = "database name";

$connId = mysql_connect($server,$username,$password) or die("Cannot connect to server");
$selectDb = mysql_select_db($database,$connId) or die("Cannot connect to database"); 

$result = "CREATE TABLE track(
`id` int(6) NOT NULL auto_increment,
`tm` varchar(20) NOT NULL default '',
`ref` varchar(250) NOT NULL default '',
`agent` varchar(250) NOT NULL default '',
`ip` varchar(20) NOT NULL default '',
`ip_value` int(11) NOT NULL default '0',
`domain` varchar(20) NOT NULL default '',
`host_name` varchar(20) NOT NULL default '',
`tracking_page_name` varchar(10) NOT NULL default '',
 UNIQUE KEY `id` (`id`)
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1 "; 
 
if (mysql_query($result))
{
 print "Success in TABLE creation!......";
} 
else 
{
die('MSSQL error: ' . mssql_get_last_message());
}


?>'

这是获取客户端信息的第一部分。 该文件将在 mysql 数据库中创建一个名为“track”的表。 现在要在此表中存储信息,您必须创建另一个文件。

example.php

<html>
<?php


// fill in your databasa data here!
$server = "localhost";
$username = "username";
$password = "password";
$database = "database name";

$connId = mysql_connect($server,$username,$password) or die("Cannot connect to server");
$selectDb = mysql_select_db($database,$connId) or die("Cannot connect to database");


$tracking_page_name="example";
$ref=$_SERVER['HTTP_REFERER'];
$agent=$_SERVER['HTTP_USER_AGENT'];
$ip=$_SERVER['REMOTE_ADDR'];
$host_name = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$strSQL = "INSERT INTO track(tm, ref, agent, ip, tracking_page_name, host_name)    VALUES(curdate(),'$ref','$agent','$ip','$tracking_page_name','$host_name')";
$test=mysql_query($strSQL);

?>
</html>

现在上面的文件将从客户端计算机提取信息并将其存储在数据库中。

现在要显示存储在数据库中的信息,我们将使用以下文件---

显示track.php

<html>
<body>
<?php

$con = mysql_connect("localhost","user name","password");
mysql_select_db("database name", $con) or die( "Unable to select database");
$query="SELECT * FROM track";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
?>
<table border="1" cellspacing="2" cellpadding="2">
<tr>
<th><font face="Arial, Helvetica, sans-serif">id</font></th>
<th><font face="Arial, Helvetica, sans-serif">time</font></th>
<th><font face="Arial, Helvetica, sans-serif">http referer</font></th>
<th><font face="Arial, Helvetica, sans-serif">user agent</font></th>
<th><font face="Arial, Helvetica, sans-serif">ip address</font></th>
<th><font face="Arial, Helvetica, sans-serif">ip value</font></th>
<th><font face="Arial, Helvetica, sans-serif">domain</font></th>
<th><font face="Arial, Helvetica, sans-serif">tracking_page_name</font></th>
<th><font face="Arial, Helvetica, sans-serif">Host_name</font></th>
</tr>

<?php
$i=0;
while ($i < $num) {

$f1=mysql_result($result,$i,"id");
$f2=mysql_result($result,$i,"tm");
$f3=mysql_result($result,$i,"ref");
$f4=mysql_result($result,$i,"agent");
$f5=mysql_result($result,$i,"ip");
$f6=mysql_result($result,$i,"ip_value");
$f7=mysql_result($result,$i,"domain");
$f8=mysql_result($result,$i,"tracking_page_name");
$f9=mysql_result($result,$i,"host_name");
?>

<tr>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f4; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f5; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f6; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f7; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f8; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f9; ?></font></td>
</tr>

<?php
$i++;
}
?>
</body>
</html>'

关于php - 我如何收集有关我网站访问者的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3451073/

相关文章:

r - 如何从线性模型输出中获取 RSS

php - 确保 MySQL 连接在 PHP 函数中有效

javascript - 修复 Firefox 文件选择窗口在所有其他窗口后面打开的问题

PHP _POST 问题毫无意义。值(value)观消失?

javascript - 在 JavaScript 中,空正则表达式模式是否具有定义的行为?

javascript - 为什么 element.style.left 返回 NaN?

在给定完整历史记录的情况下计算球队赢得体育比赛几率的算法

algorithm - 修改 Levenshtein 距离以考虑位置,同时是对称的

PHP - SimpleXML 解析错误

php - javascript 字符串变量的字符限制