我想写一个通用的PHP脚本来处理任何传进来的表单F
更新时间:2016年11月25日 17:41 点击:1975
确定track_vars在你php3.ini文件中。如果你在编译PHP时加上"--enable-track-vars",肯定就有了。你要在下面二种方式中选择一种:在编译时加入;或是在每个脚本的第一行加入 <?php_track_vars?>字符串。当track_vars打开时,会建立三个数组: $HTTP_GET_VARS、$HTTP_POST_VARS 和 $HTTP_COOKIE_VARS。因此,建立通用的 POST方法脚本,可以用下面的程序:
while (list($var, $value) = each($HTTP_POST_VARS))
{ echo "$var = $value
n"; }
有两种方法检查。第一种,当Apache建立apxs Perl程序时,因为一些原因,它没有包含正确的编译参数。编辑你apxs(在/usr/local/apache/bin/apxs或者 /usr/sbin/apxs)并检查下列几行:
my $CFG_CFLAGS_SHLIB = ' '; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB = ' '; # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' '; # substituted via Makefile.tmpl
如果你看到上面那样子,就是你发生错误的地方了,改成下面几行的样子:
my $CFG_CFLAGS_SHLIB = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB = 'gcc'; # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);# substituted via Makefile.tmpl
第二种可能的原因只有在RedHat 6.1上发生。RedHat 上的apxs配置有问题,如下行:
my $CFG_LIBEXECDIR = 'modules'; # substituted via APACI install
如果你看到上面那行,应该改成下面这行:
my $CFG_LIBEXECDIR = '/usr/lib/apache'; # substituted via APACI install
首先,请参考英文的 addslashes() 函数,它能达到你想要的功能,你也应参考php3.ini设定的 magic_quotes_gpc 选项。
函数 ereg_replace()可以达到你要的结果,做法如下:
$escaped = ereg_replace("'", "'", $input);
看看连接的那一行,确定所有的Lib库的包含文件都在正确的位置。通常你可能没用'-ldl' 并且有任何的必须Lib库或者是使用的数据库有问题。
如果你连接Apache 1.2.x,是否记得配置文件中加到EXTRA_LIBS的附加信息,并重新运行Apache配置文件?参考英文的INSTALL文件,有更多的信息。
有些人回复说使用'-ldl',马上跟着'libphp3.a'连接Apache也是相同的。
实际这是很简单的,小心跟着以下的步骤做:
在http://www.apache.org/dist/取得最新的Apache 1.3套件
解压(ungzip)及解包(untar)到Apache指定的路径,如/usr/local/src/apache-1.3。
编辑PHP,运行./configure --with-apache=//apache-1.3(路径<path>为放置apache-1.3的路径)
输入"make",运行完之后,运行"make install",将需要的文件复制到Apache目录中。
跳到Apache的路径//apache-1.3/src,并编辑Configuration文件。在该文件的结尾处加入 AddModule modules/php3/libphp3.a字符串
运行'./Configure'后再运行'make'。
现在,你就有含PHP的httpd的二进制程序了。
注意:你也可以运行Apache的./configure配置文件。参考你的Apache套件中的 README.configure文件。还有,看一下PHP套件中的INSTALL文件。
while (list($var, $value) = each($HTTP_POST_VARS))
{ echo "$var = $value
n"; }
有两种方法检查。第一种,当Apache建立apxs Perl程序时,因为一些原因,它没有包含正确的编译参数。编辑你apxs(在/usr/local/apache/bin/apxs或者 /usr/sbin/apxs)并检查下列几行:
my $CFG_CFLAGS_SHLIB = ' '; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB = ' '; # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' '; # substituted via Makefile.tmpl
如果你看到上面那样子,就是你发生错误的地方了,改成下面几行的样子:
my $CFG_CFLAGS_SHLIB = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB = 'gcc'; # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);# substituted via Makefile.tmpl
第二种可能的原因只有在RedHat 6.1上发生。RedHat 上的apxs配置有问题,如下行:
my $CFG_LIBEXECDIR = 'modules'; # substituted via APACI install
如果你看到上面那行,应该改成下面这行:
my $CFG_LIBEXECDIR = '/usr/lib/apache'; # substituted via APACI install
首先,请参考英文的 addslashes() 函数,它能达到你想要的功能,你也应参考php3.ini设定的 magic_quotes_gpc 选项。
函数 ereg_replace()可以达到你要的结果,做法如下:
$escaped = ereg_replace("'", "'", $input);
看看连接的那一行,确定所有的Lib库的包含文件都在正确的位置。通常你可能没用'-ldl' 并且有任何的必须Lib库或者是使用的数据库有问题。
如果你连接Apache 1.2.x,是否记得配置文件中加到EXTRA_LIBS的附加信息,并重新运行Apache配置文件?参考英文的INSTALL文件,有更多的信息。
有些人回复说使用'-ldl',马上跟着'libphp3.a'连接Apache也是相同的。
实际这是很简单的,小心跟着以下的步骤做:
在http://www.apache.org/dist/取得最新的Apache 1.3套件
解压(ungzip)及解包(untar)到Apache指定的路径,如/usr/local/src/apache-1.3。
编辑PHP,运行./configure --with-apache=//apache-1.3(路径<path>为放置apache-1.3的路径)
输入"make",运行完之后,运行"make install",将需要的文件复制到Apache目录中。
跳到Apache的路径//apache-1.3/src,并编辑Configuration文件。在该文件的结尾处加入 AddModule modules/php3/libphp3.a字符串
运行'./Configure'后再运行'make'。
现在,你就有含PHP的httpd的二进制程序了。
注意:你也可以运行Apache的./configure配置文件。参考你的Apache套件中的 README.configure文件。还有,看一下PHP套件中的INSTALL文件。
下一篇: MySQL数据的导出和导入
相关文章
- 这篇文章主要介绍了Windows批量搜索并复制/剪切文件的批处理程序实例,需要的朋友可以参考下...2020-06-30
BAT批处理判断服务是否正常运行的方法(批处理命令综合应用)
批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。这篇文章主要介绍了BAT批处理判断服务是否正常运行(批处理命令综合应用),需要的朋友可以参考下...2020-06-30- artDialog是一个基于javascript编写的对话框组件,它拥有精致的界面与友好的接口。本文给大家介绍JS中artdialog弹出框控件之提交表单思路详解,对本文感兴趣的朋友一起学习吧...2016-04-19
- 有时候我们为了省事就操作键盘组合键去代替使用鼠标,我们今天就使用JQuery实现Ctrl+Enter提交表单。我们发帖时,在内容输入框中输入完内容后,可以点击“提交”按钮来发表内容。可是,如果你够“懒”,你可以不用动鼠标,只需按...2015-10-23
- 为了网站的安全性,很多朋友都把密码设的比较复杂,但是如何密码不能明显示,不知道输的是对是错,为了安全起见可以把密码显示的,那么基于js代码如何实现的呢?下面通过本文给大家介绍JavaScript实现表单密码的隐藏和显示,需要的朋友参考下...2016-03-03
- file_get_contents的超时处理话说,从PHP5开始,file_get_content已经支持context了(手册上写着:5.0.0 Added the context support. ),也就是说,从5.0开始,file_get_contents其实也可以POST数据。今天说的这篇是讲超时的,确实在...2013-10-04
- 这篇文章主要介绍了C#多线程中的异常处理操作,涉及C#多线程及异常的捕获、处理等相关操作技巧,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了postgresql 中的时间处理小技巧(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-29
- 这篇文章主要为大家详细解析了BootStrap栅格系统、表单样式与按钮样式源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-23
- 这篇文章主要介绍了Python同时处理多个异常的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-29
C#异常处理中try和catch语句及finally语句的用法示例
这篇文章主要介绍了C#异常处理中try和catch语句及finally语句的用法示例,finally语句的使用涉及到了C#的垃圾回收特性,需要的朋友可以参考下...2020-06-25- 这篇文章主要介绍了python如何用moviepy对视频进行简单的处理,帮助大家更好的利用python处理视频,感兴趣的朋友可以了解下...2021-03-11
- 这篇文章主要介绍了react使用antd表单赋值,用于修改弹框的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
- 在html表单提交中method请求Get和Post区别其实很显示的,get提交会是url形式的并且数据量不能太多,而post数据是在浏览器url看不到的并且可以是大数据量而且get安全性非...2016-09-20
- 这篇文章介绍了C#异常处理,有需要的朋友可以参考一下...2020-06-25
- 这篇文章主要介绍了微信小程序 PHP后端form表单提交实例详解的相关资料,需要的朋友可以参考下...2017-01-16
- 这篇文章主要介绍了解决antd Form 表单校验方法无响应的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-28
基于Bootstrap实现Material Design风格表单插件 附源码下载
Jquery Material Form Plugin是一款基于Bootstrap的Material Design风格的jQuery表单插件。这篇文章主要介绍了基于Bootstrap的Material Design风格表单插件附源码下载,感兴趣的朋友参考下...2016-04-19- 本篇文章主要介绍了vue2 中如何实现动态表单增删改查实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...2017-06-15
- 本文介绍在表单提交之前修改提交的值的方法,希望给需要的朋友一些帮助。...2016-04-17