在数据库中记录访问者的IP

时间:2014-04-11 12:50:33

标签: php html database tracking uniqueidentifier

我想在我的网站上实现一些内容来记录访问者的IP地址,并将其放入具有唯一ID的数据库中以进行支持和分析。
有没有人知道如何做到这一点,不用将我的页面更改为PHP,或者让这个过程变得疯狂。

提前致谢,
彼得
如果需要我会使用PHP。任何答案都有帮助

3 个答案:

答案 0 :(得分:1)

如果没有PHP,这是不可能做到的,如果你决定用PHP做,那么只需创建一个id primary keyauto_increment的表格, IP为varchar(15)unique

然后在您的索引或您想要记录的任何页面中,只需添加此

即可
$link = new mysqli('host', 'username', 'password', 'database');
$stmt = $mysqli->prepare("INSERT INTO `TABLE_NAME` (`ip`) VALUES (?)");
$stmt->bind_param('s', $_SERVER['REMOTE_ADDR']);
$stmt->execute();

答案 1 :(得分:1)

您无需将页面更改为动态页面,但最终您需要一些动态网页或Web服务才能写入数据库。该动态页面甚至可以在另一个网站上,但是你不能从静态页面写入数据库或文件(甚至不能通过javascript)。

在静态页面中,您可以添加两个javascript函数: 首先使用纯Javascript获取IP地址。请参阅:How to get client's IP address using javascript only?

然后进行ajax调用(再次从javascript)到您创建的服务并在其他地方托管。将IP地址发送到该服务并记录下来。

希望这有帮助

答案 2 :(得分:-1)

如果没有PHP,你就无法做到这一点。

创建一个名为" iplogs"的表。在您的数据库中有一个名为" id"的字段,并将其定义为自动增量
在表中添加另一个字段" ip"作为文本领域。

PHP:

<?php
    $username = "root";
    $password = "";
    $hostname = "localhost"; 
    $ip_user = $_SERVER['REMOTE_ADDR'] 

    //connect to database
    $dbhandle = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL");

    //Select database
    $dbname = mysql_select_db($db_name, $dbhandle) or die("Cannot find the database");

    //execute the SQL INSERT query
    mysql_query("INSERT INTO iplogs (ip) VALUES (" . $ip_user . ")");

    //close the connection
    mysql_close($dbhandle);
?>