(1)我们一般在页面以这样的index.php?action=csdn
判断值参数是否为: if($_POST['action']=='csdn'){              //这里就是想要操作的........
     }(2)为什么看到有这样判断的,这:if($action=='csdn'){          //想要操作的.........}
第二种方法没有,不能这样写吧?

解决方案 »

  1.   

    php.ini中register_global=On就可以第二种方法。不过这样做不安全。
      

  2.   

    egister_global=On 可以使第二种写法生效把 $_POST 改为 $_GET 才能使第一种写法生效
      

  3.   

    可以修改php.ini里面的,但是不安全,你见到的第二种方法可能是别人用程序处理过的,比如extract函数处理过$_GET,还有你的第一个是$_GET而不是$_POST
      

  4.   

    第二种,别人应该是这样写的,很少有改php.ini文件的
    $action=isset($_GET['action']) ? $_GET['action'] : '';
    if($action=='csdn')
    {
          //操作} 
      

  5.   

    超链接传递值用$_get['']来获取,类似这种:<a href="branch.php?name=<?php echo urlencode("新闻中心");?>"><div class="menu_dh">新闻中心</div></a>
    在branch.php里面只要urldecode($_get['name'])就可以获取传递过来的值了
      

  6.   

    $_REQUEST 默认情况下包含了 $_GET,$_POST和 $_COOKIE 的数组。
      

  7.   

    register_global=On
    开了这个就可以直接把表单看成是变量了,但是强烈不推荐,太不安全.所以还在用这种写法的程序员现在几乎已经入土为安了.form表单如果使用post传值才会使用$_post取值,直接url传值或get方法提交的值用$_get来获取
    另外还有一个比较特殊的取值方法,那就是$_REQUEST,这个不但可以获取get方式传递的值,还能获取post方法传递的值.
      

  8.   

    在ini中设置egister_global=On 后,第二种写法才生效。
    如果想用第一种的话那么把 $_POST 改为 $_GET 就可以了,
    详情请看w3cschool中的post与get的区别联系