PHP Get Multi Select Список значений - PullRequest
0 голосов
/ 09 января 2012

Я пытаюсь написать простую функцию для создания имен полей для формы.Это работает нормально, если хотя бы одно значение выбрано в списке множественного выбора, но если ничего не выбрано, я получаю неопределенную ошибку индекса.Вот что у меня есть:

function mcFieldName($mcFieldName){
$mcField = $_POST[$mcFieldName];
if( !is_array($mcField) ){
    if( !empty($mcField) ){
        return $mcField;
    }else{
        return 'n/a';
    }
}
if( is_array($mcField) ){
    $mcFieldArray = implode(',', $mcField);
    return $mcFieldArray;
}

}

$MultiSelect = mcFieldName('mcMultiSelect');
// test
echo $MultiSelect . '<br/>';

Спасибо!

Ответы [ 2 ]

1 голос
/ 09 января 2012

Прежде чем пытаться получить доступ к элементу массива, убедитесь, что он существует с помощью isset():

if (isset($_POST[$mcFieldName])) {
    $mcField = $_POST[$mcFieldName];
    ...
}
1 голос
/ 09 января 2012

Вам просто нужно защитить себя от чтения ключа, который не существует в $_POST:

$mcField = isset($_POST[$mcFieldName]) ? $_POST[$mcFieldName] : null; 
...