如何使用php将国家/地区位置和其他变量设置为cookie

时间:2012-01-17 06:31:33

标签: php setcookie

我想设置一个包含国家/地区名称和城市位置的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);
}

2 个答案:

答案 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