我想设置一个包含国家/地区名称和城市位置的Cookie,但我无法在任何事情之前设置Cookie。如何将变量设置为其值?
include_once('ip2locationlite.class.php');
$ipLite = new ip2location_lite;
$ipLite->setKey('d930e8b9b1a38e8f647a5f22cce63e18a414e99aaf329a9f38a6caf8f623ec31');
$locations = $ipLite->getCity($_SERVER['REMOTE_ADDR']);
$errors = $ipLite->getError();
$values="";
if (!empty($locations) && is_array($locations)) {
echo $locations['ipAddress'];
echo $locations['countryName'];
echo $locations['regionName'];
echo $locations['cityName'];
$values="ipaddress : ".$locations['ipAddress']."<br>country : ".$locations['countryName']."<br>region : ".$locations['regionName']."<br> city :".$locations['cityName'];
}
if(!isset($_COOKIE['trakcer']))
{
setcookie('trakcer',$values);
}
答案 0 :(得分:1)
\您使用错误的方式设置cookie,请尝试:
if (!empty($locations) && is_array($locations)) { $values = serialize($location); //serialize you array //then set cookie if(!isset($_COOKIE['trakcer'])) { setcookie("CookieName", $values, time()+3600); /* expires in 1 hour */ } } //and to get it $array = unserialize($_COOKIE['CookieName']);
答案 1 :(得分:0)
在setcookie之前你不能做任何回音或打印。当没有设置/发送其他标题时,可以设置Cookie。
阅读文档以获取更多信息php.net/setcookie