PHP中的json_decode设置cookie

时间:2010-06-25 06:17:42

标签: php json rest cookies client

我想解码从WebService返回的Json,它应该设置一个cookie,我想用来调用下一个WebService API。我不知道如何设置cookie,并解码这个json。

我尝试解码它,但得到了错误。我需要提取sessionId。你可以使用WebService ..我把它放在互联网上。

这是我的代码示例

 <?php //extract data from the post
       extract($_POST); //set POST variables
       $url = 'http://202.83.243.119/ems/loginByEID.json';
       $fields = array(
                   'eid'=>urlencode("7ea888b6-36e9-49db-84f3-856043841bef")
               );
      //url-ify the data for the POST
       foreach($fields as $key=>$value) {
       $fields_string .=
       $key.'='.$value.'&'; }
       rtrim($fields_string,'&');

       //open connection $ch = curl_init();

       //set the url, number of POST vars,
       POST data
       curl_setopt($ch,CURLOPT_URL,$url);
       curl_setopt($ch,CURLOPT_POST,count($fields));
       curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);

       //execute post $result =
       curl_exec($ch);

       //close connection curl_close($ch);  
       //decoding Json $obj =
       json_decode($result);

       print $obj->{'stat'};  

       ?>

1 个答案:

答案 0 :(得分:4)

  1. 使用setcookie()设置Cookie。
  2. 避免像瘟疫一样extract();它可用于将任何客户端指定的变量引入代码中。
  3. 使用$fields_string = http_build_query($_GET)构建查询字符串,而不是上面的hodge-podge。
  4. 正确格式化代码。例如,您将$obj =放在上一个注释行中。