我正在尝试获取数据库中每个ip的位置现在问题是它只使用第一个数字而不是完整的ip由于某种原因所以我得到错误:
警告:file_get_contents(ipinfo.io/8):无法打开流:HTTP请求失败!找不到HTTP/1.1 404
现在是我的问题,我怎么能使它与完整的IP工作,因为我不再有线索了.
$result_ip = $dbhandle->query("SELECT ip FROM email");
$row_cnt_ip = $result_ip->num_rows;
$ip_rows = $result_ip->fetch_array(MYSQLI_ASSOC);
$country_ip_data = array();
foreach ($ip_rows as $ip_row) {
$ip = $ip_row['ip'];
if (!$ip) {
continue;
}
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
$country = $details->country;
if (!isset($country_ip_data[$country])) {
$country_ip_data[$country] = array();
}
$country_ip_data[$country][] = $ip;
}
var_dump($country_ip_data);
Run Code Online (Sandbox Code Playgroud)
最终结果应该是包含所有国家/地区的数组,以便我可以在每个国家/地区对其进行过滤并将其放入地图中.
我正在尝试创建一个管理页面,并且仅允许具有角色2的用户由于某种原因而没有向我提供我期望的信息.
<?php
session_start();
require_once('includes/mysql_config.php');
$id = isset($_SESSION['id']) ? $_SESSION['id'] : header('location: login.php');
$user = mysqli_query($con, "SELECT * FROM users WHERE id =".$_SESSION['id']) || false;
if($user['role'] == '2'){
echo "Hello $user['name']";
}
else {
header('location: index.php');
}
?>
Run Code Online (Sandbox Code Playgroud)
当我做vardump($user)它给我输出1.
当我回应$_SESSION['id']它时它给了我正确的id(会话ID与用户id相同).
我正在寻找一种方法来改变一个类中的数字,如果i = 4或更高.
$i=1;
foreach($properties['blocks'] as $block)
{
echo '<div class="colum1" id="pic'.$i.'" style="background-image:url(/uploaded/overige/'.$block['image2'].');">
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?colum1需要成为colum2.我一直在尝试使用像if else等的东西,但到目前为止还没有成功.