将json_encode数据发布到其他页面

时间:2011-12-06 19:12:04

标签: php json

我有一个名为user.php的文件,我正在编码json数据。

echo $json = json_encode(utf8_encode($user));

我想将$ json值发送到不同服务器上的其他页面data.php,menu.php,content.php ...我在点击事件中打开这些页面。

如何将$ json从user.php传递到其他页面?

1 个答案:

答案 0 :(得分:0)

试试这个:创建一个名为sendjson.php的php文件(如下所示)并进行CURL POST(它总是在类似的情况下帮助我)。使所有超链接指向此页面,每个超链接发送url(不带http://)和json数据。

<?php

 // In sendjson.php

 // Set data
 $json = $_GET['json'];

 //set destination page
 $url = $_GET['url'];

 // complete the url
 $url = "http://".$url;

 //create key value array
  $fields = array('jdata'=>urlencode($json));

     //build param string
     foreach($fields as $key=>$value) { 
    $fields_string .= $key.'='.$value.'&'; 
    }

     // finish it
     rtrim($fields_string,'&');

     //POST to url


     //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);



?>

更新:如果您使用上面的代码(对我有用)收到301错误,请尝试检查data.php / menu.php / content.php是否应该放在哪里是。然后,仔细检查。另外,(虽然我不知道这是否相关),但您可能希望确保您的$ json数据没有格式错误。