PHP4与PHP3中一个不兼容问题的解决方法

  作者:bea

PHP4与PHP3中有些不兼容的地方,但这主要是PHP4中的PHP.ini 中的设置有些不同的地方,这些改变主要是提高PHP4的效率。 其中的改变中,track_vars 的设置通常会是使旧的PHP3程序不能 再运行了,因为在PHP4的扩展设置中把track_vars 的值设为了off 这样旧的PHP3程序中就不能直接用GET,POST,COOKIE从上页传送过来 的变量了。 我这里有一个简单的解决的方法,不用把track_vars 的是设为on, 不过这只是一个权宜办法,以
PHP4与PHP3中有些不兼容的地方,但这主要是PHP4中的PHP.ini

中的设置有些不同的地方,这些改变主要是提高PHP4的效率。

其中的改变中,track_vars 的设置通常会是使旧的PHP3程序不能

再运行了,因为在PHP4的扩展设置中把track_vars 的值设为了off

这样旧的PHP3程序中就不能直接用GET,POST,COOKIE从上页传送过来

的变量了。



我这里有一个简单的解决的方法,不用把track_vars 的是设为on,

不过这只是一个权宜办法,以后大家还是用$HTTP_GET_VARS,  

$HTTP_POST_VARS and $HTTP_COOKIE_VARS读取这些变量比较好。



下面是一个简单的程序,大家可以加到每个需要读取GET,POST,COOKIE

的变量的页前,就可以直接引用这些变量了。



get.variable.inc.php



<?

if(isset($HTTP_POST_VARS))

{

while ( list( $key, $val ) = each( $HTTP_POST_VARS ) )

{

$$key = $val;

}

}



if(isset($HTTP_GET_VARS))

{

while ( list( $key, $val ) = each( $HTTP_GET_VARS ) )

{

$$key = $val;

}

}





if(isset($HTTP_COOKIE_VARS))

{

while ( list( $key, $val ) = each( $HTTP_COOKIE_VARS ) )

{

$$key = $val;

}

}

?>  



请大家多多指教!






有用  |  无用

猜你喜欢