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

WBOY
发布: 2016-06-23 14:15:30
原创
1089 人浏览过

序列化过的数据,通过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']; 看看?

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!