register_globals设置为on 时,$_POST["abc"] 在程序中直接用 $abc;$_GET["abc"] 在程序中直接用 $abc;等等
register_globals设置为off 时,则不同,各归各的。

解决方案 »

  1.   

    这我也知道,但是如果他们本质上是一样的,那么谁都愿意直接把register_globals设置为on 这方便得多,但是为什么大多数人不支持这样做呢?
      

  2.   

    我原来也是把register_globals设置为on的
    但因为php采用的是弱变量,弱变量在使用时的确很方便,但在以后维护修改时会出现一些问题,比如:有时候你不知道这个变量是从什么地方来的,而且容易把已经付值的变量给覆盖了,
    所以用register_globals设置为off后在使用时可能要多敲几个字,但在以后读程序时,程序的可读性更好一些,特别是在使用会话级变量的时候。我想这也是默认的register_globals设置为off的原因!
      

  3.   

    在OFF 状态下会比较安全一些,变量不会被同名URL变量复盖。
    加上$_POST,$_GET,$_SESSION之后,不仅读性好一些,通用性也好得多。