是你的设置问题。在php.ini文件中,把你的register_globals = Off改成register_globals = On就行了。或者把程序改成这样也行:
page1.php
<?php
  $a="nihao";
  $b="<a href=../page2.php?name=".$a.">next page</a>";
  echo $b;
?>page2.php
<?php
   echo $_GET['name'];
?>

解决方案 »

  1.   

    是的,从PHP5开始,这个选项默认就是关闭的了
      

  2.   

    /* $Id: grab_globals.lib.php,v 1.5 2002/02/26 21:39:42 loic1 Exp $ */
    /**
     * This library grabs the names and values of the variables sent or posted to a
     * script in the '$HTTP_*_VARS' arrays and sets simple globals variables from
     * them
     *
     * loic1 - 2001/25/11: use the new globals arrays defined with php 4.1+
     */
    if (!defined('PMA_GRAB_GLOBALS_INCLUDED')) {
        define('PMA_GRAB_GLOBALS_INCLUDED', 1);    if (!empty($_GET)) {
            extract($_GET);
        } else if (!empty($HTTP_GET_VARS)) {
            extract($HTTP_GET_VARS);
        } // end if
        
        if (!empty($HTTP_ENV_VARS)) {
            while(list($name,$value) = each($HTTP_ENV_VARS)){
             $$name = $value;
            }
        }
        
        if (!empty($HTTP_SERVER_VARS)) {
            while(list($name,$value) = each($HTTP_SERVER_VARS)){
             $$name = $value;
            }
        }    if (!empty($_POST)) {
            extract($_POST);
        } else if (!empty($HTTP_POST_VARS)) {
            extract($HTTP_POST_VARS);
        } // end if    if (!empty($_FILES)) {
            while (list($name, $value) = each($_FILES)) {
                $$name = $value['tmp_name'];
            }
        } else if (!empty($HTTP_POST_FILES)) {
            while (list($name, $value) = each($HTTP_POST_FILES)) {
                $$name = $value['tmp_name'];
            }
        } // end if} // $__PMA_GRAB_GLOBALS_LIB__假如这段脚本就不用改配置了!