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

解决方案 »

  1.   


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

  2.   


    $s = "ssssssssss";
      

  3.   

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

  4.   

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

  5.   

    对,用ECMALL模板$s = $_POST['s'];
    echo $s = unserialize(stripslashes($s));输出的是这个  s:10:
      

  6.   

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

  7.   

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

  8.   

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

  9.   


    $s = $_POST['s'];
    echo $s = unserialize(html_entity_decode(stripslashes($s)));看下能不能反序列化。
      

  10.   

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

  11.   

    你就不能 echo $_POST['s']; 看看?再说序列化后的字符串是用双引号括起的
    你 <input type="hidden" name="s" value="{$s}" /> 又放在双引号中,那浏览器能认识吗?
    正确