2016-06-27 2 views
1

У меня есть этот оператор, который входит в php-файл. И с этим происходит сбой выполнения. Ничего не выполняется до и после инструкции.PHP | Выключение оператора switch вызывает ошибку

switch ($type) { 
    case "contact_page" : 
     $subject = "Вопрос со страницы Контакты"; 
     $user_email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL); 
     break; 
    case "call_ask" : 
     $subject = "Просьба позвонить"; 
     break; 
    case "calculator" : 
     $subject = "Калькулятор"; 
     $user_email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL); 
     break; 
    default : 
     $output = json_encode(['type' => 'error', 'text' => 'Запрос из неверного типа формы.']); 
     die($output); 
} 

Когда я заменяю это на if...else, все выполняется хорошо. Невозможно найти ошибку.

+4

так начинают закомментировав каждый этих линий и фигур из которого одна из причин аварии. нет ничего плохого. –

+0

@KA_lin: бессмысленно + бесполезно. по умолчанию последний в этом коммутаторе, поэтому нет необходимости в перерыве, и разрыв не требуется в любом месте, поэтому наличие/отсутствие перерыва не может вызвать сбой. –

+0

Как вы называете эту функцию? и каков вывод 'var_dump ($ type);'? –

ответ

2

Версия php не поддерживает новую нотацию массива (5.4+ из того, что я знаю).

Использование в default случае:

$output = json_encode(array('type' => 'error', 'text' => 'Запрос из неверного типа формы.')); 
+2

Да, это проблема. Спасибо за внимание. На самом деле я забыл об этом. –

+0

Это смешно, что люди все еще в старых версиях PHP. Например, я использую всегда последнюю версию PHP (теперь v. 7), и мне все равно, будут ли исключения, я исправлю это. – num8er

0

Обновление PHP до> 5,4

или код обновления от:

json_encode(['type' => 'error', 'text' => 'Запрос из неверного типа формы.']); 

в

json_encode(array('type' => 'error', 'text' => 'Запрос из неверного типа формы.')); 
+0

К сожалению, я не могу обновить php и не иметь разрешения. И да, это проблема. –

+0

oh ... те админы ... (: – num8er

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