500 ошибка при отправке формы

Рейтинг: 0Ответов: 1Опубликовано: 19.01.2015

Здравствуйте. Подскажите, пожалуйста, никак не могу отловить из-за чего 500 ошибка вылезает при отправке формы. Вылезает при добавлении в обработчик такого куска кода:

if ($id == 'calculator' && !empty($_POST['calculator-data'])) {
    $out = "\n";
    parse_str($_POST['calculator-data'], $calculatorData);
    foreach ($calculatorData as $index => $params) {
        $out .= $params['title']. "\n";
        $out .= "--------------------------------------\n";
        unset($params['title']);
        foreach ($params as $name => $value) {
            $out .= "\t" . strip_tags($value) . "\n";
        }
        $out .= "\n";
    }
    $data['windows'] = $out;
}

Ответы

▲ 1

Вы пишите с использованием фреймворка/CMS? Если да, то, возможно, система отлавливает ошибки (даже fatal) и заносит их в собственный лог, показывая при этом ошибку сервера.

Внимательно посмотрите на Ваш код.

$id == 'calculator'

У Вас $id, где-нибудь объявлен? Иначе:

if (isset($id) && $id == 'calculator' && !empty($_POST['calculator-data'])) {
  ...
}

Далее, меня смущает:

parse_str($_POST['calculator-data'], $calculatorData);

Т.к. результат отдаётся по ссылке, то необходимо заранее объявить переменную, а именно:

$calculatorData = array();
parse_str($_POST['calculator-data'], $calculatorData);