应该是设置的原因吧
php.ini:  register_globals=on;

解决方案 »

  1.   

    用netbat_wdc(白衣飘飘)的方法最快解决所有问题,在PHP文件开头加上qiushuiwuhen(秋水无恨)的那语句适合应急.
      

  2.   

    用netbat_wdc(白衣飘飘)的方法最快解决所有问题,在PHP文件开头加上qiushuiwuhen(秋水无恨)的那语句适合应急.
      

  3.   

    extract($_POST);这是什么意思啊!
      

  4.   

    extract
    (PHP 3>= 3.0.7, PHP 4 )extract --  Import variables into the current symbol table from an array 
    Description
    int extract ( array var_array [, int extract_type [, string prefix]])This function is used to import variables from an array into the current symbol table. It takes an associative array var_array and treats keys as variable names and values as variable values. For each key/value pair it will create a variable in the current symbol table, subject to extract_type and prefix parameters. Note: Since version 4.0.5 this function returns the number of variables extracted. Note: EXTR_IF_EXISTS and EXTR_PREFIX_IF_EXISTS was introduced in version 4.2.0. extract() checks each key to see whether it constitutes a valid variable name and also for collisions with existing variables in the symbol table. The way invalid/numeric keys and collisions are treated is determined by extract_type. It can be one of the following values: 
    EXTR_OVERWRITE
    If there is a collision, overwrite the existing variable. EXTR_SKIP
    If there is a collision, don't overwrite the existing variable. EXTR_PREFIX_SAME
    If there is a collision, prefix the variable name with prefix. EXTR_PREFIX_ALL
    Prefix all variable names with prefix. Since PHP 4.0.5 this includes numeric ones as well. EXTR_PREFIX_INVALID
    Only prefix invalid/numeric variable names with prefix. This flag was added in PHP 4.0.5. EXTR_IF_EXISTS
    Only overwrite the variable if it already exists in the current symbol table, otherwise do nothing. This is useful for defining a list of valid variables and then extracting only those variables you have defined out of $_REQUEST, for example. This flag was added in PHP 4.2.0. EXTR_PREFIX_IF_EXISTS
    Only create prefixed variable names if the non-prefixed version of the same variable exists in the current symbol table. This flag was added in PHP 4.2.0. 
    If extract_type is not specified, it is assumed to be EXTR_OVERWRITE. Note that prefix is only required if extract_type is EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID or EXTR_PREFIX_IF_EXISTS. If the prefixed result is not a valid variable name, it is not imported into the symbol table. extract() returns the number of variables successfully imported into the symbol table. A possible use for extract is to import into the symbol table variables contained in an associative array returned by wddx_deserialize(). Example 1. extract() example<?php/* Suppose that $var_array is an array returned from
       wddx_deserialize */$size = "large";
    $var_array = array ("color" => "blue",
                        "size"  => "medium",
                        "shape" => "sphere");
    extract ($var_array, EXTR_PREFIX_SAME, "wddx");print "$color, $size, $shape, $wddx_size\n";?>
     
     
    The above example will produce: blue, large, sphere, medium
     
    The $size wasn't overwritten, because we specified EXTR_PREFIX_SAME, which resulted in $wddx_size being created. If EXTR_SKIP was specified, then $wddx_size wouldn't even have been created. EXTR_OVERWRITE would have caused $size to have value "medium", and EXTR_PREFIX_ALL would result in new variables being named $wddx_color, $wddx_size, and $wddx_shape. You must use an associative array, a numerically indexed array will not produce results unless you use EXTR_PREFIX_ALL or EXTR_PREFIX_INVALID. See also compact(). 
      

  5.   

    extract
    (PHP 3>= 3.0.7, PHP 4 )extract --  Import variables into the current symbol table from an array 
    Description
    int extract ( array var_array [, int extract_type [, string prefix]])This function is used to import variables from an array into the current symbol table. It takes an associative array var_array and treats keys as variable names and values as variable values. For each key/value pair it will create a variable in the current symbol table, subject to extract_type and prefix parameters. Note: Since version 4.0.5 this function returns the number of variables extracted. Note: EXTR_IF_EXISTS and EXTR_PREFIX_IF_EXISTS was introduced in version 4.2.0. extract() checks each key to see whether it constitutes a valid variable name and also for collisions with existing variables in the symbol table. The way invalid/numeric keys and collisions are treated is determined by extract_type. It can be one of the following values: 
    EXTR_OVERWRITE
    If there is a collision, overwrite the existing variable. EXTR_SKIP
    If there is a collision, don't overwrite the existing variable. EXTR_PREFIX_SAME
    If there is a collision, prefix the variable name with prefix. EXTR_PREFIX_ALL
    Prefix all variable names with prefix. Since PHP 4.0.5 this includes numeric ones as well. EXTR_PREFIX_INVALID
    Only prefix invalid/numeric variable names with prefix. This flag was added in PHP 4.0.5. EXTR_IF_EXISTS
    Only overwrite the variable if it already exists in the current symbol table, otherwise do nothing. This is useful for defining a list of valid variables and then extracting only those variables you have defined out of $_REQUEST, for example. This flag was added in PHP 4.2.0. EXTR_PREFIX_IF_EXISTS
    Only create prefixed variable names if the non-prefixed version of the same variable exists in the current symbol table. This flag was added in PHP 4.2.0. 
    If extract_type is not specified, it is assumed to be EXTR_OVERWRITE. Note that prefix is only required if extract_type is EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID or EXTR_PREFIX_IF_EXISTS. If the prefixed result is not a valid variable name, it is not imported into the symbol table. extract() returns the number of variables successfully imported into the symbol table. A possible use for extract is to import into the symbol table variables contained in an associative array returned by wddx_deserialize(). Example 1. extract() example<?php/* Suppose that $var_array is an array returned from
       wddx_deserialize */$size = "large";
    $var_array = array ("color" => "blue",
                        "size"  => "medium",
                        "shape" => "sphere");
    extract ($var_array, EXTR_PREFIX_SAME, "wddx");print "$color, $size, $shape, $wddx_size\n";?>
     
     
    The above example will produce: blue, large, sphere, medium
     
    The $size wasn't overwritten, because we specified EXTR_PREFIX_SAME, which resulted in $wddx_size being created. If EXTR_SKIP was specified, then $wddx_size wouldn't even have been created. EXTR_OVERWRITE would have caused $size to have value "medium", and EXTR_PREFIX_ALL would result in new variables being named $wddx_color, $wddx_size, and $wddx_shape. You must use an associative array, a numerically indexed array will not produce results unless you use EXTR_PREFIX_ALL or EXTR_PREFIX_INVALID. See also compact(). 
      

  6.   

    extract($_POST);
    由POST方式传过来的数据全在$_POST数组中.extract的作用就是把数组的key做为变量名,value做为这个变量的值,释放出来.
    例如有:$_POST["abc"]="haha"
    extract($_POST);的结果就是新建一个变量$abc="haha"
      

  7.   

    在php4.2以后的版本中,可以这样解决.size=..是为了可进行多选(ctrl+单击)$_POST将变量值传至处理脚本.
    <select name="number[]" size="..">
     <option>..</option>
    <option>..</option>
    <option>..</option>
    ..
    </option><?php
     $number=$_POST["number"];
     for($i=0;$i<count($number);$i++){
      echo $number[$i]."<br>";
     }
    ?>
      

  8.   

    TO:  sirarker() <select name="number[]" size="..">应为<select name="number[]" size=".." multiple>才支持多选的!对吧!:)