LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2560|回复: 17

请教php高手

[复制链接]
发表于 2003-5-29 13:53:23 | 显示全部楼层 |阅读模式
==================input.php========================

<html>
<body>

<form method="post" action="add2htm.php">
<table>

<tr><td>姓名:</td><td><input type=text name="name"></td></tr>

<tr><td>地址:</td><td><input type=text name="address" size=40></td></tr>

<tr><td></td><td><input type=submit value=提交></td></tr>

</form>
</table>

</body>
</html>



============add2htm.php==========
<html>
<body>
姓名:<? echo "$name"; ?><br>
地址:<? echo "$address"; ?><br>

</body>
</html


按理说提交之后,php将建立2个变量$name,$address,再将变量传到add2htm.php中。为什么我不能获得input.php表单中的变量呢,我不知道到底哪里出错,2个变量都不能显示,恳请高手指教。
发表于 2003-5-29 13:57:37 | 显示全部楼层

是php的配置文件的问题。

将php.ini中一句:
register_globa的功能找开。即改为On
再重新启动http就行了。
 楼主| 发表于 2003-5-29 14:37:34 | 显示全部楼层
哦,终于把问题解决了。
非常感谢黄叶朋友的帮助。
发表于 2003-5-30 16:45:08 | 显示全部楼层
强烈建议不要直接使用html文档中的“变量”,而要使用$_POST[name]这样的方式。因为,不同版本之间处理这类变量对应的方式是很不相同的!!!
发表于 2003-6-3 16:34:48 | 显示全部楼层
不建议把register_global选项打开,有比较严重的安全问题,要求程序员对安全性考虑的非常全面
 楼主| 发表于 2003-6-3 22:32:54 | 显示全部楼层
谢谢owl和小凡2位朋友的建议,因为刚刚接触php和mysql不久,很多东西都不会。如果不要直接使用html文档中的“变量”,我上面的2个程序应该怎么写呢?不把register_global选项打开,我怎么才能得到变量?
发表于 2003-6-3 22:36:43 | 显示全部楼层
============add2htm.php==========
<html>
<body>
姓名:<? echo _POST["name"]; ?><br>
地址:<? echo _POST["address"]; ?><br>

</body>
</html>
发表于 2003-6-4 08:06:36 | 显示全部楼层

不太好意思。我想问的是如果打开那个选项会有些什么方面的安全问题。

如果说是用_POST的形势提供变量传递的话,个人觉得它也是用了全局变量呀。只不过这个全局变量是PHP自己管理的而已,而打开register_global的话,是允许用户自己注册全局变量,在PHP中可以用global 来引用全局变量,但是全局变量它有一个适用范围的呀。我想应该不会引起什么太大的安全问题吧。
发表于 2003-6-4 08:09:06 | 显示全部楼层

PHP中最为值得人称道的就是这种表单变量直接传递呀。

如果关掉它,那岂不是有点。。。。。。
另外我想新手打开无所谓了。随着慢慢深入应该会有考虑的。
另外打开它,并发运行并不影响。
发表于 2003-6-4 08:10:21 | 显示全部楼层

POST其实与ASP,JSP中的那个request的意义差不多吧。

但是这在PHP中显得太不灵活了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表