2009-06-21 2 views
0

С тех пор как пару месяцев назад мой сайт был полон ошибок извещения, поэтому я пытаюсь исправить код сейчас. Я предполагаю, что было некоторое обновление php. Я не настолько яркий на php так:Заявление оператора и isset

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

case "delete": 
delete(); 
break; 

} 

Это не сработает, когда я добавлю isset.

Не можете ли вы использовать isset внутри функции? Я действительно не знаю, поэтому я прошу вас, ребята, которые знают это.

веселит

ответ

3

Это происходит потому, что isset возвращается true или false, а не строка (что ваши case заявления ожидают).

1

isset() возвращает bool (true или false). Вы хотите вызвать isset() перед переключением. Пример:

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

Перед тем, как войти в коммутатор, вам необходимо проверить isset().

6

isset возвращает bool (см. isset manual page). Ваш случай не будет работать, так как «deleted» не является допустимым логическим значением (он оценивает true, я думаю, но все же).

Вы должны проверить, если он установлен, а затем перейти:

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

если (Исеть ($ _ GET [ 'действие'])) {

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

}

Смежные вопросы