首页 > 解决方案 > 在php中设置cookie

问题描述

我有一个脚本可以计算 2 个本地人之间的距离,我想将距离变量插入 cookie 以供以后使用。

该脚本工作得很好,但是当它应该设置 cookie 时没有任何反应。

这是我当前的代码 - 在我的本地服务器中它工作正常,但在生产服务器中却不行。我的代码在两台服务器上没有区别。

<?php


if (isset($_GET['submit'])) {

$origin = $_GET['origin'];
$destination = $_GET['destination'];
/* In imperial unit
$distance_data = file_get_contents('https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins='.urlencode($origin).'&destinations='.urlencode($destination).'&key=AIzaSyBg8mazOCFsHlsOfTClG9Cugb1ddBPfldU');
*/
// In metric unit. This is default
$distance_data = file_get_contents('https://maps.googleapis.com/maps/api/distancematrix/json?&origins='.urlencode($origin).'&destinations='.urlencode($destination).'&key=AIzaSyBg8mazOCFsHlsOfTClG9Cugb1ddBPfldU');
$distance_arr = json_decode($distance_data);
if ($distance_arr->status=='OK') {
 $destination_addresses = $distance_arr->destination_addresses[0];
 $origin_addresses = $distance_arr->origin_addresses[0];
 } else {
 echo "<p>The request was Invalid</p>";
 exit();
}
if ($origin_addresses=="" or $destination_addresses=="") {
  echo "<p>Destination or origin address not found</p>";
  exit();
}
// Get the elements as array
$elements = $distance_arr->rows[0]->elements;
$distance = $elements[0]->distance->text;
$duration = $elements[0]->duration->text;
setcookie("distance",$distance,time()+100);
echo "From: ".$origin_addresses."<br/> To: ".$destination_addresses."<br/> Distance: <strong>".$distance ."</strong><br/>";
echo "Duration: <strong>".$duration."";
}

?>

标签: phpcookies

解决方案


推荐阅读