0

由于几个月前我的网站充满了通知错误,所以我现在正在尝试修复代码。我想有一些php更新。我对 php 不太了解,所以:

switch ( (isset($_GET['action'])) ) {

case "delete":
delete();
break;

}

当我添加 isset 时,这将不起作用。

你不能在函数中使用 isset 吗?我真的不知道,所以我问你们知道这些事情的人。

干杯

4

5 回答 5

6

isset 返回一个布尔值(参见isset 手册页)。您的情况将不起作用,因为“已删除”不是有效的布尔值(我认为它评估为 true,但仍然如此)。

您应该先检查它是否已设置,然后切换:

if(isset($_GET['action')) {
  switch ( $_GET['action']) ) {
    case "delete":
      delete();
      break;
  }
} else {
  ...
}
于 2009-06-21T22:50:56.660 回答
3

那是因为isset返回trueor false,而不是字符串(这是您的case语句所期望的)。

于 2009-06-21T22:47:38.977 回答
1

isset() 返回布尔值(真或假)。您想在切换之前调用 isset() 。例子:

if (isset($_GET['action']))
{
  switch($_GET['action'])
  {
    ...
  }
}
于 2009-06-21T22:49:15.010 回答
1

在进入开关之前,您需要检查 isset()。

于 2009-06-21T22:49:18.487 回答
0

if ( isset($_GET['action'])){

  switch($_GET['action']){
        case "login":
        $nowfile = 'pages/login.php';
        break;
    }
if (file_exists($nowfile)){
    include($nowfile);
}else{
    echo "<b>Achtung:</b> Die file $nowfile existiert nicht";
}

}

于 2013-04-15T16:41:59.320 回答