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

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;
}
}
?>

请大家多多指教!

(0)

相关推荐

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

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

  • WPF中不规则窗体与WindowsFormsHost控件兼容问题的解决方法

    本文实例讲述了WPF中不规则窗体与WindowsFormsHost控件兼容问题的解决方法.分享给大家供大家参考.具体方法如下: 这里首先说明一下,有关WPF中不规则窗体与WindowsFormsHost控件不兼容的问题,网上给出的很多解决方案不能满足所有的情况,是有特定条件的,比如有一篇<WPF中不规则窗体与WebBrowser控件的兼容问题解决办法>(感兴趣的朋友可以自己百度一下这篇文章).该网友的解决办法也是别出心裁的,为什么这样说呢,他的webBrowser控件的是单独放在一个Form中

  • 在python3中pyqt5和mayavi不兼容问题的解决方法

    环境: win10 64bit & Linux Mint 18.2 WinPython3.6.1,spyder,qtconsole iep3.7 问题描述: 通过http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyside下载mayavi,pyqt4,vtk等包安装后执行mayavi代码不会出现问题,突然想学pyqt5,就 pip3 install pyqt5 安装了,安装之后重新运行mayavi代码便会出错 错误提示: RuntimeError: Inva

  • Vue中android4.4不兼容问题的解决方法

    1.npm安装 npm install babel-polyfill npm install es6-promise package.json中会出现 "babel-polyfill": "^6.26.0", "es6-promise": "^4.1.1", 2.main.js引入 import 'babel-polyfill' import Vue from 'vue' import Es6Promise from 'es6

  • 在CentOS 7 上为docker配置端口转发以兼容firewall的解决方法

    在CentOS 7上当我们以类似下列命令将主机端口与容器端口映射时可能遇到无法访问容器服务的问题 docker run --name web_a -p 192.168.1.250:803:80 -d web_a:beta1.0.0 . 由于docker在执行此命令时,是向iptables注入了一条规则将主机803映射到容器80端口,但是CentOS 7中以firewalld服务替代了iptables.因此,上述命令的端口映射不会生效. 解决方法:首先观察一下主机上的网卡信息,确认增加了一个doc

  • JavaScript中Textarea滚动条不能拖动的解决方法

    本文实例分析了JavaScript中Textarea滚动条不能拖动的解决方法.分享给大家供大家参考,具体如下: 在IE中,你是否碰到过Textarea的滚动条不能拖动,但点上下按钮可以滚动内容? 这个问题的原因很可能就是在该Textarea中绑定了onfocus事件,但是,基于某种条件,又将其焦点去掉(即blur()),这样就导致滚动条不能拖动. 一个典型的例子为: me.$input.on("focus",function(){ if ($isIE && me.ena

  • IOS开发中键盘输入屏幕上移的解决方法

    在IOS开法中经常会遇到键盘遮挡屏幕的事情(比如输入账号密码验证码等等),就使得原本都不大的屏幕直接占了一半甚至更多的位置,这倒无所谓,关键是挡住了下面的按钮.这样的话按钮的事件也就触发不了,最好的解决办法就是当输入这些信息的时候让整个屏幕上移一个键盘的位置,或者上移到指定的位置. 首先一般输入的话都用的是UITextField,所以要监听用户什么时候开始输入和什么时候结束输入,直接设置代理代理就行了,要遵受 UITextFieldDelegate协议. //遵循协议 @interface Vi

  • wxpython中Textctrl回车事件无效的解决方法

    本文实例讲述了wxpython中Textctrl回车事件无效的解决方法.分享给大家供大家参考,具体如下: 今天使用wxptyhon的Textctrl控件开发客户端时遇到了一个问题, 按照HTML表单的逻辑, 我们在Textctrl里回车应该提交查询, 但是wxpython的Textctrl很奇怪, 回车了居然是像Tab作用一样跳转到下一个控件.这样的话,要完成查询, 要么是鼠标点击按钮, 要么需要按两次或者两次以上. Google了一下, 无答案, 但是得到了一些有用的资料: TextCtrl支

  • PHP编程中的Session阻塞问题与解决方法分析

    本文实例讲述了PHP编程中的Session阻塞问题与解决方法.分享给大家供大家参考,具体如下: 使用session过程中,在开启session后,同一浏览器,执行同一程序,不同页面会被锁.不同浏览器不会出现这种情况. 疑问:是不是session_start导致了阻塞? 于是,我写了几个页面测试了一下,发现是session导致了阻塞,而其他两种情况不会造成阻塞. 查了下PHP的Bug列表,发现有人提出了这个问题: Description: ------------ Calling session_

  • Yum安装中出现错误mirrorlist.txt的解决方法

    发现问题 今天在使用Yum install命令安装软件的时候一直提示一个错误,错误提示如下面: # yum install mysql Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. </HTML>/ removing mirrorlist with no

随机推荐