为什么php输出不了表单变量?帮忙看看.

发表于:2007-05-25来源:作者:点击数: 标签:
向各位求助。 安装好APACHE2后,运行一些 PHP 页面出错,为什么会这样呢? 情况如下: 新建一个页面IN.htm,内有一表单,表格内有一输入框,名字为NAME,在输入框输入任何数据,以GET方式或POST方式,传输到另一页面SHOW.PHP,但在SHOW.PHP中都无法显示出$NAM

向各位求助。
安装好APACHE2后,运行一些PHP页面出错,为什么会这样呢?
情况如下:
新建一个页面IN.htm,内有一表单,表格内有一输入框,名字为NAME,在输入框输入任何数据,以GET方式或POST方式,传输到另一页面SHOW.PHP,但在SHOW.PHP中都无法显示出$NAME的内容.为什么会这样呢?是不是PHP或APACHE还没设置好?

in.htm代码如下:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="show.php">
  <input type="text" name="NAME">
  <input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>

SHOW.PHP的作用是输出用户刚才输入的数据,代码如下:
<?

echo $NAME;

?>

【发表回复】【查看CU论坛原帖】【添加到收藏夹】【javascript:window.close()">关闭】
 free2wind 回复于:2004-01-19 23:15:23
你看一下 php.ini 里面有个关于变量的选项好像在开头, 4.3 的和 4.0...的有点区别

 free2wind 回复于:2004-01-19 23:26:22
register_argc_argv

 markleung 回复于:2004-01-20 10:33:55
搞好了,现把资料贴出。
如果大家使用PHP4.2版本或者以上的请看这里。由于PHP安装默认设置register_globals = Off ,也就是说不可以再使用同名的表单ID来获取变量值了。

读者可以设置register_globals = On 来恢复旧版PHP的变量值获取方法,但是不推荐这样处理,或者使用全局变量$_SERVER, $_POST, $_GET, $_REQUEST来获取对应的表单变量。

当然,为了兼容以前版本的程序,可以在程序中加入一下代码来实现: 
<?
// allow script to work with registerglobals off 
if ( function_exists('ini_get') ) 

 $onoff = ini_get('register_globals'); 

else 

 $onoff = get_cfg_var('register_globals'); 

if ($onoff != 1) 

 @extract($HTTP_SERVER_VARS, EXTR_SKIP); 
 @extract($HTTP_COOKIE_VARS, EXTR_SKIP); 
 @extract($HTTP_POST_FILES, EXTR_SKIP); 
 @extract($HTTP_POST_VARS, EXTR_SKIP); 
 @extract($HTTP_GET_VARS, EXTR_SKIP); 
 @extract($HTTP_ENV_VARS, EXTR_SKIP); 

?>

原文转自:http://www.ltesting.net