Php 未保存在数据库中的信息
我已经创建了一个查询,该查询应存储正在查看网站的任何用户的ip地址、浏览器和国家/地区,但信息未存储在数据库中 这是完整的代码 连接Php 未保存在数据库中的信息,php,mysqli,Php,Mysqli,我已经创建了一个查询,该查询应存储正在查看网站的任何用户的ip地址、浏览器和国家/地区,但信息未存储在数据库中 这是完整的代码 连接 <?php $conn = mysqli_connect("localhost","root","","ecom_store"); 获取用户浏览器的功能 function getBrowser(){ $agent = $_SERVER['HTTP_USER_AGENT']; $name = 'NA'; if (preg_match('/MSIE
<?php
$conn = mysqli_connect("localhost","root","","ecom_store");
获取用户浏览器的功能
function getBrowser(){
$agent = $_SERVER['HTTP_USER_AGENT'];
$name = 'NA';
if (preg_match('/MSIE/i', $agent) && !preg_match('/Opera/i', $agent)) {
$name = 'Internet Explorer';
} elseif (preg_match('/Firefox/i', $agent)) {
$name = 'Mozilla Firefox';
} elseif (preg_match('/Chrome/i', $agent)) {
$name = 'Google Chrome';
} elseif (preg_match('/Safari/i', $agent)) {
$name = 'Apple Safari';
} elseif (preg_match('/Opera/i', $agent)) {
$name = 'Opera';
} elseif (preg_match('/Netscape/i', $agent)) {
$name = 'Netscape';
}
return $name;
}
获取用户国家/地区的功能
function ip_visitor_country()
{
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
$country = "Unknown";
if(filter_var($client, FILTER_VALIDATE_IP))
{
$ip = $client;
}
elseif(filter_var($forward, FILTER_VALIDATE_IP))
{
$ip = $forward;
}
else
{
$ip = $remote;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.geoplugin.net/json.gp?ip=".$ip);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$ip_data_in = curl_exec($ch); // string
curl_close($ch);
$ip_data = json_decode($ip_data_in,true);
$ip_data = str_replace('"', '"', $ip_data);
if($ip_data && $ip_data['geoplugin_countryName'] != null) {
$country = $ip_data['geoplugin_countryName'];
}
return $country;
}
保存信息的功能
function save(){
global $conn;
$c_ip= getRealUserIp();
$c_browser= getBrowser();
$c_country= ip_visitor_country();
$insert_save="insert into ip (c_ip,c_browser,c_country)
values('$c_ip,'$c_browser','$c_country')";
$run_save = mysqli_query($conn,$insert_save);
echo $insert_save;
if($run_save){
echo "saved";
}else{
echo"error";
}
}
?>
<?php save();?>
函数保存(){
全球$conn;
$c_ip=getRealUserIp();
$c_browser=getBrowser();
$c_country=ip_visitor_country();
$insert_save=“插入ip(c_ip、c_浏览器、c_国家/地区)
值(“$c_ip”,“$c_浏览器”,“$c_国家”)”;
$run\u save=mysqli\u查询($conn,$insert\u save);
echo$insert\u save;
如果($run\u save){
回声“保存”;
}否则{
回声“错误”;
}
}
?>
我所有的代码都写在一页纸上。谢谢你你忘了在
$c_ip
$insert_save="insert into ip (c_ip,c_browser,c_country)
values('$c_ip','$c_browser','$c_country')";
你在看《拯救》吗?你在调用这个函数吗?有错误吗?@FirstOne我得到错误,但当我回显$insert\u save时,我可以看到所有信息,因为它只是一个字符串。顺便说一句,您应该习惯于使用带有参数化查询的预处理语句来进行查询。
$insert_save="insert into ip (c_ip,c_browser,c_country)
values('$c_ip','$c_browser','$c_country')";