0

数か月前から私のウェブサイトは通知エラーでいっぱいだったので、今コードを修正しようとしています. PHPの更新があったと思います。私はphpがあまり得意ではないので:

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

case "delete":
delete();
break;

}

isset を追加すると、これは機能しません。

関数内で isset を使用できませんか? よくわからないので、詳しい方にお聞きします。

乾杯

4

5 に答える 5

6

isset は bool を返します ( isset のマニュアル ページを参照してください)。「deleted」は有効なブール値ではないため、ケースは機能しません(trueと評価されますが、それでも)。

最初に設定されているかどうかを確認してから、次のように切り替えます。

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

これは、文字列ではなくorをisset返すためです (これは、ステートメントが期待するものです)。truefalsecase

于 2009-06-21T22:47:38.977 に答える
1

isset() は bool (true または false) を返します。スイッチの前に 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 に答える