Switch deyimi ve isset

5 Cevap php

Web siteme önce birkaç ay ihbar hatalarla dolu olduğu için ben şimdi kod düzeltmek için çalışıyorum. Ben bazı php güncelleme vardı sanırım. Ben bu yüzden php de pek parlak değilim:

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

case "delete":
delete();
break;

}

Ben isset eklediğinizde bu iş olmaz.

Can't you use isset inside a function? I dont know really so I'm asking you guys that know these things.

şerefe

5 Cevap

isset bir bool döndürür (isset manual page bakınız). Davan 'silindi' gibi geçerli bir boolean değeri (yine bence doğru değerlendirir, ama) değil, çalışmaz.

Ilk ayarlanır olmadığını kontrol etmelisiniz, sonra değiştirin:

if(isset($_GET['action')) {
  switch ( $_GET['action']) ) {
    case "delete":
      delete();
      break;
  }
} else {
  ...
}

Yani çünkü isset returns true veya false, bir dizge (sizin case ifadeleri beklemek ne olduğu).

isset () döner bool (true veya false). Sen anahtarı önce isset () aramak istiyorum. Örnek:

if (isset($_GET['action']))
{
  switch($_GET['action'])
  {
    ...
  }
}

Eğer anahtarının içine gitmeden önce () isset kontrol etmeniz gerekir.

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";
}

}