日期:2014-05-16  浏览次数:20552 次

php中的 action 做参数 ,有什么特殊含义吗?见 代码
我在 学习php 5,对错误提示 设置为显示:
有 下面代码:
<body>

    <center>
    <h1> 图形(周长&面积)计算器</h1>
<a href="tuxingjsq.php?action=juxing">矩形</a>||
<a href="tuxingjsq.php?action=sanjiaoxing">三角形</a>||
<a href="tuxingjsq.php?action=yuanxing">圆形</a>
<hr color="#FF0000"  size="5" width="100%">

</center>
<?PHP

   echo   $_GET["action"];
   
?>
</body>

运行了 http://localhost/xphp/tuxingjsq.php,点击 矩形 三角形,圆形的链接,不会出现错误提示。



当我将 链接中的action 改为 其他的名字时 ,如:name  ,出现了错误提示,如:

<body>

    <center>
    <h1> 图形(周长&面积)计算器</h1>
<a href="tuxingjsq.php?name=juxing">矩形</a>||
<a href="tuxingjsq.php?name=sanjiaoxing">三角形</a>||
<a href="tuxingjsq.php?name=yuanxing">圆形</a>
<hr color="#FF0000"  size="5" width="100%">

</center>
<?PHP

   echo   $_GET["name"];
   
?>
</body>

会出现错误提示:
PHP Notice: undefined index xxx

请问 : 这是action 有特殊含义吗?还是其他原因?
  

------解决方案--------------------
action  行动
目的是为了达意

当然你可以使用其他单词,但处理程序中也需要做相应的变化
------解决方案--------------------
一个命名而已。
------解决方案--------------------
用name应该也是可以的啊,将你的错误提示贴完整看看.
------解决方案--------------------
你不要只是 PHP Notice: undefined index xxx
你应该给出完整的错误信息!
------解决方案--------------------
你的php不会就这么一句echo吧?

------解决方案--------------------
首先来说
<?PHP

   echo   $_GET["action"];
   
?>
这个语句是你要从$_GET数组中获取index为action的值,而$_GET数组是php执行引擎产生的,就是以你url中的get参数生成的,即例子中的红色部分:
http://www.baidu.com?a=1&b=1
php执行引擎就会生成两个index,即
$_GET['a'] = 1;
$_GET['b'] = 1;
如果你获取$_GET['c']会出现什么情况?
情况是执行引擎会告诉,对不起找不到c,你都没有给我。

也就是如果你传递action,php执行引擎报错:PHP Notice: undefined index action
------解决方案--------------------
上面说错了

也就是如果你传递action,php执行引擎报错:PHP Notice: undefined index action
------解决方案--------------------
肯定还有其他地方用到了这个get过去的action