PHP不同页面间传递json的问题

zlhcc 2013-06-07 03:36:12
gettest.php:

<?php

$value["name"]= urlencode("myname");
$value["pass"]= urlencode("pass888");
$value["age"]=30;

$js_value = json_encode($value);

$url="http://127.0.0.1:8080/get.php?id=100&value=$js_value";
$html = file_get_contents($url);

echo $html;
?>

get.php:

<?php

$x = json_decode(urldecode($_GET["value"]));
echo $x;
?>

在IE中运行: http://127.0.0.1:8080/gettest.php
运行后得到的是空白,应该能把json的数据打印出来吧
...全文
70 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlhcc 2013-06-07
  • 打赏
  • 举报
回复
非常感谢。
xuzuning 2013-06-07
  • 打赏
  • 举报
回复
在get.php中, echo $_GET["value"]; 结果是: {\"name\":\"myname\",\"pass\":\"pass888\",\"age\":30} 那么就需要 stripslashes 而不是 urldecode $x = json_decode(stripslashes($_GET["value"]));
zlhcc 2013-06-07
  • 打赏
  • 举报
回复
我在同一个php文件中调用 json_encode, json_decode 就没问题。 不同页面下就不行了,不知怎么回事
zlhcc 2013-06-07
  • 打赏
  • 举报
回复
在 gettest.php 中 echo $url; 结果是: http://127.0.0.1:8080/get.php?id=100&value={"name":"myname","pass":"pass888","age":30} 在get.php中, echo $_GET["value"]; 结果是: {\"name\":\"myname\",\"pass\":\"pass888\",\"age\":30} 我的目的是希望在get.php中吧 jsong string 还原为json对象,并打印出来。 所以我修改了下代码 getp.php代码修改为: <?php $x = json_decode(urldecode($_GET["value"])); //echo $_GET["value"]; var_dump($x); ?> 显示是: NULL . 这个好像不应该啊
xuzuning 2013-06-07
  • 打赏
  • 举报
回复
你在 gettest.php 中 echo $url; 看一下参数是否正确 get.php 中 json_decode 后的是对象,所以 echo $x; 是不妥当的 另外不需要 urldecode,你 echo $_GET["value"]; 就可知道

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧