>  기사  >  백엔드 개발  >  序列化过的数据,通过post方式传值,数据消失

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

WBOY
WBOY원래의
2016-06-23 14:15:301101검색

序列化过的数据,通过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으로 문의하세요.