首页  >  文章  >  后端开发  >  序列化过的数据,通过post方式传值,数据消失

序列化过的数据,通过post方式传值,数据消失

WBOY
WBOY原创
2016-06-23 14:15:301100浏览

序列化过的数据,通过post方式传值,数据消失
谁知道怎么回事


回复讨论(解决方案)

<form action="index.php?app=compare_download" method="post">                    <input type="hidden" name="s" value="{$s}" />          <input type="submit" value="导出失败数据"/></form>

现在都不习惯贴代码么?凭语文猜想能力?

$s = "ssssssssss";

现在都不习惯贴代码么?凭语文猜想能力?
一点点来

$s经过 序列化处理了

php的代码?

php的代码?
对,是 PHP的,我用form提交,接受的数据只用序列化的长度,没有数值

用了模板? 查看源码看看$s生成的值是否正常。
php代码你怎么接收的,贴下代码。

对,用ECMALL模板

$s = $_POST['s'];echo $s = unserialize(stripslashes($s));

输出的是这个  s:10:

用了模板? 查看源码看看$s生成的值是否正常。
php代码你怎么接收的,贴下代码。
贴出来了,源代码没看出来有什么异样

stripslashes函数,无关紧要,我就试试好不好使

 $_POST['s'] 值取到没有 ,直接$s='aaaa' 有没有返回值  一步一步调试

javascript里面有个转换函数,我忘了叫什么名字了。需要用它来转换一下在序列化。如果你想不起这个函数,也可以把序列化过的数据base64

$s = $_POST['s'];echo $s = unserialize(html_entity_decode(stripslashes($s)));

看下能不能反序列化。

本帖最后由 xuzuning 于 2013-07-12 18:20:57 编辑

对,用ECMALL模板
$s = $_POST['s'];echo $s = unserialize(stripslashes($s));

输出的是这个  s:10:
你就不能 echo $_POST['s']; 看看?

再说序列化后的字符串是用双引号括起的
你  又放在双引号中,那浏览器能认识吗?


对,用ECMALL模板

$s = $_POST['s'];echo $s = unserialize(stripslashes($s));

输出的是这个  s:10:
你就不能 echo $_POST['s']; 看看?

再说序列化后的字符串是用双引号括起的
你  又放在双引号中,那浏览器能认识吗?
正确

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn