操作步骤, 从index.php连接转跳到test.php,点击input(checkout),测试参数传递问题如下:
   在本机能够正常输出size,quantity等参数, 但是放到服务器后,ids能够输出, size, quantity均无数值.大家帮忙分析分析原因,在此先行谢过!!!!PHP页面test.php
<?php
include('inc/common.php');if(!empty($checkout)){
$len = count($ids);
for($i = 0; $i < $len; $i++)
{
if (empty($del[$i]))
{
$_SESSION['pid'][] = $ids[$i];
$_SESSION['quantity'][$ids[$i]] = $quantity[$i];
$_SESSION['size'][$ids[$i]] = $size[$i];
}
echo "id:".$ids[$i].",qt:".$quantity[$i].",size:".$size[$i]."\n";
}
exit;
}
display('test.html');
?>
模版html页面
<script type="text/javascript" src="js/jquery.js"></script>
<form name="form1" method="post" action="">
   
   <input name="ids[]" type="hidden" id="ids" value="123">
   <select name="size[]" id="size">
     <option value="M" selected="selected">M</option>
     <option value="L">L</option>
   </select>
   <input type="text" name="quantity[]" size="2" value="1" id="quantity"/>
   
   <input name="ids[]" type="hidden" id="ids" value="456">
   <select name="size[]" id="size">
     <option value="L" selected="selected">M</option>
     <option value="XL">L</option>
   </select>
   <input type="text" name="quantity[]" size="2" value="2" id="quantity"/>
   
   <input type="hidden" name="checkout" id="checkout" value="" />
   <input type="image" name="check" id="check" src="images/check.gif" onClick="$('#checkout').val('1');">
</form>

解决方案 »

  1.   

    将表单发送来的东西都改成$_POST['表单名'],还是php.ini配置不一致带来的问题
      

  2.   

    php.ini配置可能会导致这种问题?
      

  3.   

    对,具体说是php.ini中的register_globals,估计你的是on,服务器是off手册上说:
    register_globals boolean 
    决定是否将 EGPCS(Environment,GET,POST,Cookie,Server)变量注册为全局变量。 PHP » 4.2.0 开始,本选项默认为 off。 使用 Register Globals
    可能 PHP 中最具争议的变化就是从 PHP » 4.2.0 版开始配置文件中 register_globals 的默认值从 on 改为 off 了。对此选项的依赖是如此普遍以至于很多人根本不知道它的存在而以为 PHP 本来就是这么工作的。本节会解释用这个指令如何写出不安全的代码,但要知道这个指令本身没有不安全的地方,误用才会。 当 register_globals 打开以后,各种变量都被注入代码,例如来自 HTML 表单的请求变量。再加上 PHP 在使用变量之前是无需进行初始化的,这就使得更容易写出不安全的代码。这是个很艰难的抉择,但 PHP 社区还是决定默认关闭此选项。当打开时,人们使用变量时确实不知道变量是哪里来的,只能想当然。但是 register_globals 的关闭改变了这种代码内部变量和客户端发送的变量混杂在一起的糟糕情况。
      

  4.   

    貌似空间商一般都不让你随便修改php.ini的
      

  5.   

    "大有可能是这个问题,待我跟空间商确认后,是的话就解贴!不过现在的空间商一般都是开打的。 "
    你错了,一般的虚拟机这个是关闭的.用变量形式很容易和其他的变量区别..多写一些字符而已...
    你用ini_set放在common.php中看下.行的话,皆大欢喜.
      

  6.   


    register_globals = on
    ==================
    这个是有打开了,phpinfo看到了