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

  •   2009-07-31/22:56
  • 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;
    }
    }
    ?>  

    请大家多多指教!


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多