1.php中:<form action="2.php" method="post" >
<table>
<tr>
<td height="25" bgcolor="#F0F8FB"> “数字物价”系统工程平台建设<input name="id[]" type="hidden" value="3" /></td>
<td align="center" bgcolor="#F0F8FB"> 7<input name="defen[]" type="hidden" value="7" /> </td>
                          </tr>
 <tr>
<td height="25" bgcolor="#F0F8FB"> 中考网上阅卷项目<input name="id[]" type="hidden" value="2" /></td>
<td align="center" bgcolor="#F0F8FB"> 2<input name="defen[]" type="hidden" value="2" /> </td>
                          </tr>
</table><input type="image" src="img/20.jpg" width="101" height="30" />
</form>2.php中
我用session存储
$_SESSION["id"]=$id=$_POST["id"];
$_SESSION["defen"]=$defen=$_POST["defen"];3.php中我才能用到1.php中的数组值,这个时候才发现,只有一个值了。
$id=$_POST['id']=$_SESSION["id"];
$defen=$_POST['defen']=$_SESSION["defen"];怎样传递数组才不丢失呢??  着急啊!!就这么多分了~~在线等!

解决方案 »

  1.   

    有 session_start 了木有?
      

  2.   

    在 2.php 赋值后再打印 session 出来看看。
      

  3.   

    ie缓存的原因吧!是不是没记录session的值呢?
      

  4.   

    猜测,大概楼主的问题是:
    比如:defen这个选项没有被选中,则下面的赋值操作是不成功的,
    $_SESSION["defen"]=$defen;
    $_SESSION["defen"]=$_POST["defen"];
    导致的结果就是$_SESSION["defen"]没有被定义
    楼主把这种情况看做是变量丢失了吧……
      

  5.   

    session传递数组没有见过丢失变量的情况。
    你的变量什么时候丢失的?
    2.php中变量获取正常么?<?php 
    $_SESSION["id"] = $_POST["id"];
     $_SESSION["defen"] = $_POST["defen"];
     print_r($_SESSION["id"]);
     print_r($_SESSION["defen"]);
    ?>
    如果这里变量都是不正常的,那么3.php中自然也是不完全的。