PHP实现将IP地址存入数据库的代码 (php将ip写入数据库代码)
在网络应用开发中,经常需要记录用户的IP地址。无论是为了安全考虑还是为了统计分析,都需要将IP地址存入数据库中。本文将介绍如何用。
一、获取IP地址
在PHP中,获取IP地址十分简单。可以使用$_SERVER[“REMOTE_ADDR”]获取当前访问页面的IP地址。这个变量会返回当前请求的客户端IP地址。
例如:
“`
$ip = $_SERVER[“REMOTE_ADDR”];
echo “当前访问的IP地址是:”.$ip;
“`
这样就可以获取到用户的IP地址了。
二、创建数据库表格
在将IP地址存入数据库之前,需要先在数据库中创建一个表格。这个表格用来存储IP地址和其它相关的信息。表格的结构如下:
“`
CREATE TABLE IF NOT EXISTS `ip_address` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ip_address` varchar(50) NOT NULL,
`country` varchar(50) DEFAULT NULL,
`region` varchar(50) DEFAULT NULL,
`city` varchar(50) DEFAULT NULL,
`isp` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
“`
其中,id是自增主键,ip_address存储IP地址,country、region、city和isp分别存储IP地址的国家、省份、城市和ISP信息。
三、将IP地址存入数据库
将IP地址存入数据库需要用到PHP的MySQL扩展。首先需要连接数据库:
“`
$servername = “localhost”;
$username = “username”;
$password = “password”;
$dbname = “database”;
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die(“Connection fled: ” . $conn->connect_error);
}
“`
其中,$servername是服务器名,$username和$password是数据库用户名和密码,$dbname是数据库名。$conn是建立的数据库连接。
接下来是将IP地址存入数据库的代码:
“`
// 获取IP地址
$ip = $_SERVER[“REMOTE_ADDR”];
// 查询IP地址信息
$url = “http://ip-api.com/json/”.$ip;
$data = file_get_contents($url);
$json = json_decode($data, true);
// 获取IP地址信息
$country = $json[“country”];
$region = $json[“regionName”];
$city = $json[“city”];
$isp = $json[“isp”];
// 存储到数据库
$sql = “INSERT INTO ip_address (ip_address, country, region, city, isp) VALUES (‘$ip’, ‘$country’, ‘$region’, ‘$city’, ‘$isp’)”;
if ($conn->query($sql) === TRUE) {
echo “记录已保存”;
} else {
echo “保存失败: ” . $conn->error;
}
$conn->close();
“`
这段代码首先获取IP地址,然后使用ip-api.com提供的服务查询IP地址的信息。将查询结果存储到$country, $region, $city和$isp变量中。最后将IP地址和对应的信息存储到数据库表格中。
四、
本文介绍了如何用。首先获取IP地址,然后查询IP地址信息,最后将IP地址和对应的信息存储到数据库中。通过这种方式,可以方便地记录用户的IP地址并进行相应的处理。