欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-05 23:10:18
...
序列化过的数据,通过post方式传值,数据消失
谁知道怎么回事

回复讨论(解决方案)


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

$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']; 看看?

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