对的,补充一下,我用的是PHP4.3.1

解决方案 »

  1.   

    register_globals表示的是是否注册全局变量。简单点说:如果是off的话,那么你在一个页面中将不能通过在url后面附加变量的方式来传递变量。只能通过form等来传递了。你可以把它设为off来试看嘛,不过编程的时候,将会带来极大的不便。只是出于安全的角度,所以将版的PHP会将它的值设为OFF!新手的话,最好还是将它设为ON好一点,等精通了PHP后再更改为ON。
      

  2.   


    TO gogola(倾城) 如果设置为OFF,用FORM可以传递变量吗?我试了好像不行。需要设置为ON。
      

  3.   

    PHP4.3.1 默认 register_globals = off
    出于安全考虑也不建议你打开。这样虽然获取传入参数稍嫌麻烦,但你可以干预其中。
    为便于使用,他特别的将数组$_GET、$_POST、$_COOKIE、$_SESSION等设计为自动全局变量,使用时不需声明。
      

  4.   

    那怎么传递变量?比如<form action="<? echo $PHP_SELF;?>" method="get" name="frmAdduser"> 该怎么写/?
      

  5.   

    如果OFF
    $PHP_SELF = $_SERVERS['PHP_SELF'];
    如果想兼容各版本,用个判断来赋值吧
      

  6.   

    不是吧,你还不明白?如果是OFF的话,能传递的变量,只有form里面的。如果想在url后面附加变量来传递,是不行的!form里面的input都是可以传递的,包括hidden的input。$PHP_SELF跟你的设置没有关系!在哪里都可以使用。在接受的页面,取出变量应该这样做:$HTTP_POST_VARS["变量名"],来取出变量。或者是:$HTTP_GET_VARS["变量名"],视你的form的method是POST,还是GET而定了。不过最好form的method用POST吧。
      

  7.   

    没有呀,是OFF的话也可以用$_POST[""]或 $_GET[""]获得提交过来的数据的