在名字输入筐里,我随便输入什么都只返回一个Duh ? How come you are anonymous,不知道是为什么

解决方案 »

  1.   

    很多情况下全局变量被关闭了!
    所以一定要养成用$_POST 和$_GET来获取POST GET变量!
      

  2.   

    最好这样写 $变量名=isset($_POST["参数名"]))?$_POST["参数名"]):"";
    冒号后面是否是""可根据变量的类型来写,如果比如如果是数字那就
    $变量名=isset($_POST["参数名"]))?$_POST["参数名"]):0;
    呵呵 也不一定写成0哦,要保证不会是$_POST["参数名"])的值就行了
      

  3.   

    sorry!这里
    isset($_POST["参数名"]))  后面多了一个括号
      

  4.   

    HTTP POST 变量:$_POST
    注: 在 PHP 4.1.0 及以后版本使用。之前的版本,使用 $HTTP_POST_VARS。 通过 HTTP POST 方法传递的变量组成的数组。是自动全局变量。 这是一个“superglobal”,或者可以描述为自动全局变量。这只不过意味这它在所有的脚本中都有效。在函数或方法中您不需要使用 global $_POST; 来访问它,就如同使用 $HTTP_POST_VARS 一样。 $HTTP_POST_VARS 包含着同样的信息,但是不是一个自动全局变量。(注意: HTTP_POST_VARS 和 $_POST 是不同的变量,PHP 处理它们的方式不同。) 如果设置了 register_globals 指令,这些变量也在所有脚本中可用;也就是,分离了 $_POST 和 $HTTP_POST_VARS 数组。相关信息,请参阅安全的相关章节 使用 Register Globals。这些单独的全局变量不是自动全局变量。 
      

  5.   

    register_globals=On是,你的程序应该没有问题,但是=Off的时候,就不能接收$name了.
    PHP3里,register_globals默认是On的,而PHP4以后默认是Off的.
    我想你现在的环境是PHP4,而你的教程是PHP3的.
      

  6.   

    首先谢谢大家的热心帮助,
    我将if ( $name == "" )                  
       ...
          elseif ($name == "Your name") 
       ...
       改为if($_POST["name"]="");
       ...
          elseif($_post["name"]=="Your name")
       运行正常但是下面这里出错,不知道怎么改了
         else 
          echo "
          Hello, $name.//这个$name应该改为什
       ...
      

  7.   

    哪个知道为什么CSDN的帖子发出了之后不可以编辑了,这样子很不方便啊
      

  8.   

    $_POST["name"]=""一定要注意这种写法,=是赋值不是==