我一直在
通知:未定义索引:操作
当我使用以下代码时。我用它来看哪一页是必需的。不管怎么说来解决这个问题?我知道您不应该只包含来自用户输入的文件(不首先检查输入),但是这个开关语句只有当操作设置为视图或blah时才能工作,否则它只显示主页。
?action=view或?action=blah
switch ($_GET['action'])
{
case 'view':
echo "We are in view";
require FORUM_ROOT . 'view2.php';
break;
case 'blah':
echo "We are in blah";
break;
default:
"This is default";
require FORUM_ROOT . 'main.php';
}发布于 2011-03-28 00:05:26
以这种方式重写代码:
$action = isset($_GET['action']) ? $_GET['action'] : null;
switch ($action) { ... }发布于 2011-03-28 00:06:01
此错误意味着当$_GET‘’action‘不存在时,您正在尝试使用它。例如,当您在没有传递page.html?action=xxx的情况下进入页面时
发布于 2011-03-28 00:12:01
您使用的是数组元素,而不检查它是否存在。当您的代码可能没有定义时,您应该确保代码不会试图读取$_GET['action']。
如果查询字符串中没有给出switch,则可以通过为$_GET['action']提供一个已定义(但“空”)的值,以一种不需要更改您的$_GET['action']逻辑的方式来做到这一点:
if (!isset($_GET['action']))
$_GET['action'] = null;
switch ($_GET['action']) {
...
}https://stackoverflow.com/questions/5453384
复制相似问题