一个奇怪的问题

一个奇怪的问题

原代码是这样:
<html>
<head>
<title>调查表</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF">
<?php
function display_form()
{
        global $PHP_SELF;
}
?>
<FORM action="<?php echo $PHP_SELF;?>" METHOD=post>名字:<INPUT TYPE=TEXT NAME="name">
<br>
单项选择:
<INPUT TYPE=RADIO NAME="first" VALUE="男">男
<INPUT TYPE=RADIO NAME="first" VALUE="女">女
<INPUT TYPE=RADIO NAME="first" VALUE="不告诉你">不告诉你
<br>
多项选择:
<INPUT TYPE=CHECKBOX NAME="second[]" VALUE="篮球">篮球
<INPUT TYPE=CHECKBOX NAME="second[]" VALUE="足球">足球
<INPUT TYPE=CHECKBOX NAME="second[]" VALUE="排球">排球
<INPUT TYPE=CHECKBOX NAME="second[]" VALUE="棒球">棒球
<INPUT TYPE=HIDDEN NAME="stage" VALUE="results"><p>
<INPUT TYPE=SUBMIT VALUE="确定"></p>
</FORM>
<?php
        function process_form()
        {
                $name=$_POST['name'];
                $first=$_POST['first'];
                $second=$_POST['second'];
                $stage=$_POST['stage'];       

                if($first=='男')
                {
                        $first_message='你好,先生。';
                }
                elseif($first=='女')
                {
                        $first_message='你好,小姐。';
                }
                else
                {
                        $first_message='你好';
                }

                $favorite_second=count($second);
                if($favorite_second<=1)
                {
                        $second_message='你喜欢少数运动。';
                }
                elseif($favorite_second>1 && $favorite_second<4)
                {
                        $second_message='你喜欢大部分运动。';
                }
                else
                {
                        $second_message='你喜欢所有这些运动!';
                }

                echo "对运动的测试:<br><br>";
                echo "你好!你的名字叫:  $name  <br><br>";
                echo "你的测试结果是------:$first_message $second_message";
        }
?>
<?php

        if(!empty($stage))
        {                       
                process_form();       
        }
        else
        {               
                display_form();       
        }
?>
</body>
</html>

在别人的机器上运行就没问题。但在自己的机器上运行的结果就有些差异。当我填完信息提交表单后,echo "对运动的测试:<br><br>";
                echo "你好!你的名字叫:  $name  <br><br>";
                echo "你的测试结果是------:$first_message $second_message";

这段代码并不会运行显示在网页的下面。我不知道是为什么,难道是IE哪的设置有些问题的吗?
另外还有几个问题想弄清楚下:
1.我在页面直接打印$stage这个变量打印不出来,为什么呢?
2.$PHP_SELF这个变量直接打印也打印不出来,必须用$_SERVER['PHP_SELF']这样处理下才能打印出来?

这些问题比较基础,我想利用这个程序彻底弄清楚下。谢谢了!

不显示是因为程序出错.而你没有开启出错提示
由于版本差异.在register_globals = Off 的情况下那些$_POST和$_SERVER变量必须通过数组获得
下面程序,本机测试通过

[复制到剪切板]
CODE:
<html>
<
head>
<
title>调查表</title>
<
meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</
head>
<
body bgcolor="#FFFFFF">
<?
php
function display_form()
{
        global 
$PHP_SELF;
}
?>
<
FORM action="<?php echo $_SERVER['PHP_SELF'];?>" METHOD=post>名字:<INPUT TYPE=TEXT NAME="name">
<
br>
单项选择:
<INPUT TYPE=RADIO NAME="first" VALUE="男">
<INPUT TYPE=RADIO NAME="first" VALUE="女">
<INPUT TYPE=RADIO NAME="first" VALUE="不告诉你">不告诉你
<br>
多项选择:
<INPUT TYPE=CHECKBOX NAME="second[]" VALUE="篮球">篮球
<INPUT TYPE=CHECKBOX NAME="second[]" VALUE="足球">足球
<INPUT TYPE=CHECKBOX NAME="second[]" VALUE="排球">排球
<INPUT TYPE=CHECKBOX NAME="second[]" VALUE="棒球">棒球
<INPUT TYPE=HIDDEN NAME="stage" VALUE="results"><p>
<
INPUT TYPE=SUBMIT VALUE="确定"></p>
</
FORM>
<?
php
        
function process_form()
        {
                
$name=$_POST['name'];
                
$first=$_POST['first'];
                
$second=$_POST['second'];
                
$stage=$_POST['stage'];        

                if(
$first=='男')
                {
                        
$first_message='你好,先生。';
                }
                elseif(
$first=='女')
                {
                        
$first_message='你好,小姐。';
                }
                else
                {
                        
$first_message='你好';
                }

                
$favorite_second=count($second);
                if(
$favorite_second<=1)
                {
                        
$second_message='你喜欢少数运动。';
                }
                elseif(
$favorite_second>&& $favorite_second<4)
                {
                        
$second_message='你喜欢大部分运动。';
                }
                else
                {
                        
$second_message='你喜欢所有这些运动!';
                }

                echo 
"对运动的测试:<br><br>";
                echo 
"你好!你的名字叫:  $name  <br><br>";
                echo 
"你的测试结果是------:$first_message $second_message";
        }
?>
<?
php

        
if(!empty($_POST['stage']))
        {                        
                
process_form();        
        }
        else
        {                
                
display_form();        
        }
?>
</
body>
</
html> ;

毕业了。。。

点---线---面 “精准通”教你怎样进行全方位网络流量及用户行为分析

精准通(WebNibbler)智能网站分析系统(http://www.Webnibbler.com.cn),基于网站访客数据、行为分析等核心要素,提供了网站表现综合分析、网站访客行为分析、及在线营销效果分析。其强大的报表特色,默认达8类市场细分、安装只需5分钟内完成、提供50个功能选项、以及详列500种分析报表,协助运营者进行全方位市场细分,了解访客习惯及喜好,有效掌握营销精准度,优化网站运营决策依据。
精准通更提供了最先进技术,使得安装设定变得更加容易。对于拥有自有网站服务器的使用者来说,只需要下载精准通客户端软件,花5分钟安装,即可完成所有设定,一劳永逸,自此交由精准通软件为您做所有网页内容数据的搜集。对于没有自有网站服务器,或选择采用代码插入的使用者来说,精准通推出的简易代码技术更是一大福音。精准通的简易代码只有短短几行,而且适用于所有网站页面。使用者可以从此不再为代码撰写,修改,错误而大伤脑筋。
精准通系统依据网站运营的需要,提供您无懈可击的,网站营销分析信息。
用户注册区  http://www.webnibbler.com.cn/login/reg.jsp
官方网站http://www.Webnibbler.com.cn
报表查看系统http:// http://report.webnibbler.com.cn/

嘿嘿,不是告诉你print_r($_REQUEST);下再修改程序嘛