你装的是比较新的PHP吧.
这是因为新版的PHP默认设register_gloabl=Off.
你可以改php.ini.设register_global=On
也可以从$_GET[]中取GET的数据,从$_POST[]中取POST的数据,等等.
用程序开始时用extract($_GET)和extract($_POST)就可以把$_GET和$_POST中的变量释放出来,和原来一样用.

解决方案 »

  1.   

    我已经该国了这个:php.ini.设register_global=On还是没有用!!
    我不明白石为什么,至于你后面说的这种方法,我不太明白,我只是个初学者,能在给我解释一下码??
    谢谢!!
      

  2.   

    这是PHP的新规定,是为了降低程序被恶意攻击的可能性,也没什么好解释的:)
    改了后要重启服务器.
      

  3.   

    register_gloabl=Off的时候,
    用$HTTP_GET_VARS["myvarname"]或$HTTP_POST_VARS["myvarname"]来接受变量,
      

  4.   

    register_gloabl=On这种设置不安全……:)
      

  5.   

    清检查:
    1。变量名是否错误。
    2。用如下代码检查所有变量,看你的变量是否在其中:
    <?
       while(list($k,$v) = each($GLOBALS))
       {
         echo $k." => ".$v."<BR>";
       }
    ?>
    3.检查html是否错误。
    4。如果以上都不行,建议重装php
      

  6.   

    我用这短代码检查了:
    结果如下:
    HTTP_POST_VARS => Array
    _POST => Array
    HTTP_GET_VARS => Array
    _GET => Array
    HTTP_COOKIE_VARS => Array
    _COOKIE => Array
    HTTP_SERVER_VARS => Array
    _SERVER => Array
    HTTP_ENV_VARS => Array
    _ENV => Array
    HTTP_POST_FILES => Array
    _FILES => Array
    _REQUEST => Array
    GLOBALS => Array
    v => Array
    k => v我的变量名字叫aa
    其它的东西怎么检查阿:文件如下:
    form.html
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    </HEAD>
    <BODY>
    <form action="form.php"> 
    <INPUT TYPE="text" NAME="aa" >
    <INPUT TYPE="submit"></form>
    </BODY>
    </HTML>form.php<html>
    <body>
    <?phpecho $aa;
    if(isset($aa)){
    echo "aa is set";
    }   while(list($k,$v) = each($GLOBALS))
       {
         echo $k." => ".$v."<BR>";
      }
    ?>
    </body>
    </html>
      

  7.   

    你的变量好像在$_GET中,检查一下,
    你的php环境是什么?
      

  8.   

    你试试echo $_POST["aa"];
    应该就行了
    不行再试echo $_GET["aa"];
      

  9.   

    我的环境是WIN2000 PROFESSIONAL
    +APACH1.3+PHP4.1.2

    按照模块方式安装的
    我是过了把其它的语句都屏蔽掉,至剩下一句:echo $_GET["aa"];或者是echo $_POST["aa"];
    页面什么都没有显示!
    555