who_are_you.php<html>
<head>
<title> Who Are You ? </title>
</head><body>
<form action="you_are.php" method="post">
Please enter your name:<br />
I am...
<?php
print('<input type="text" name="person" value="'.$_GET['person'].'" size="15" />');
?>
<input type="submit" value="Go!" size="15" />
</form>
</body>
</html>you_are.php
<html>
<head>
<title> You Are... </title>
</head><body>
<?php
print('Well,hello'.$_POST['person'].',nice to meet you!');
print('<br />');
print('<a href="who_are_you.php?person='.urlencode($_POST['person']).'">Back to Who Are You ?</a>');
?>
</body>
</html>

解决方案 »

  1.   

    首先感谢你feel8(准备早起的鸟),因为我发了几个贴子,只有你给我回了,
    可我只想知道,为什么我照书上抄的代码却怎么也不能执行,我都有些想放弃PHP了,
    是我的服务配置有问题??可配置也是照你教我的进行配置的(还有书上教的),
    快帮帮我吧,我还是想学习PHP,
    已经苦恼了N天了!!!为什么$person变量在第二页的地址栏里可以看到,可在第二页的页面中却得不到打印,
    能不能在不改动代码的基础上解决掉此问题呀,
    要知道去改变代码的话对于初学者来说,好像……再次谢谢!!!
      

  2.   

    书上说的是针对以前老版的php解析器的。
    新版的用$_GET['变是名'] $_POST['变量名'],$_SESSION['变量名']也可以改变php.ini 中 register_globals = On  改成这样,书上的那些就有用了。不过off会比较好。地址栏可以看到因为是get上去的,浏览器里看不到,是因为没有接收的到。
    不改变代码的话,改 register_globals = On 重启web服务器就行了。
      

  3.   

    好像第一个文件中
    print('<input type="text" name="person" value="'.$person.'" size="15" />');
    改成
    print('<input method="post" type="text" name="person" value="'.$person.'" size="15" />');
    就该可以了
      

  4.   

    呵呵,贴错了,我这句这么写是错的。
    不过好像没有用value="'.$person.'"的必要,就让value=""
    我用的都是 register_globals = On 
      

  5.   

    各位兄台,还是不行哪,问题依旧!!
    各位用的都是什么系统??Linux??
    我也想用Linux,可是,我的猫在Linux下面怎么装?
    我的Linux:RedHat 9.0,猫是SpeedTouch 515(ADSL),USB口的。该怎么装,能详细点么??我已经快疯了!!!
      

  6.   

    我也遇到同样的问题,代码没错
    代码没有错误,是你的php没有配置好打开php的配置文件(我也弄不清楚那个是起作用的,所以我把C\php433\php.ini和C:\winnt\php.ini两个文件都改了:))打开php.ini
    Ctrl +f,输入register_globals,那里显示的是:
    register_globals = Off
    把Off改为On,再重新启动计算机,就ok了:)
      

  7.   

    register_globals = Off
    就是php.ini中的这个地方的问题,建议使用默认的Off,改成On后你的程序就可以运行了,如果你运行的是apache,必须重新启动apache
      

  8.   

    已经改过了,而且在用phpinfo()看结果,也显示“register_globals On On”,可问题页面给的提示还是“Notice: Undefined variable: person in c:\inetpub\wwwroot\myphp\who_are_you.php on line 11
      

  9.   

    该问题已解决!!!!
    多谢各位高手指点!!!!
    再多问一句,我用的是安装版的php,安装完成后是用IIS发布的,而且是cgi方式。
    如果我用非安装版的PHP,而且是apache发布的话呢?是不是就没有php.ini这个文件了,那么这时应该去哪里配置呢??此问题解答后结贴
      

  10.   

    顺便再问一句。如何获得前一页用表单传递的变量,我想知道规范的写法,
    因为在第二页,程序还在Notice我,说变量未定义,而如果我进行定义的话,就只能得到定义的值,得不到传递的值了
      

  11.   

    非安装版的也有php.ini,要把它copy到系统目录下
      

  12.   

    你可以试试Apache+PHP再试试PWS+PHP或IIS+PHP哪个行了,自己比较一下,就差不多了。我觉得PWS+PHP最烦,IIS+PHP没试过,Apache+PHP最简单,不过我用的只能单机试,在局域网上都用不了。可能Apache+PHP+mysql的包不支持。
      

  13.   

    看看用PHP做的网站源代码,其实其它也一样。看看GET与POST的区别,再做两个实例就OK了。