2013-05-08 5 views
-2

вместо использования $ _POST ['var'] Я хотел бы получить все глобалы по их имени.как получить всю глобальную переменную

Кроме того, например, у меня есть <input type='text' name='surname'> Когда я отправить форму, я хотел бы использовать получить («фамилия») вместо $ _POST [ «фамилия»], так что я пытался сделать функцию, но это одна не работает

function get($var){ 
    $global = $GLOBALS["$var"] ; 
    return $global; 
} 

Я действительно не понимаю, почему.

Я возвращайся ко мне notice: Undefined index: nom in C:\wamp\www\cyb.fr\lib_php\librairie.php on line 23

anykind помощь будет оценена

+4

Как ваша функция подход, основанный лучше, чем обычный '$ _POST' подход, кроме экономии нескольких символов? Это, конечно, не так быстро обрабатывать. – Blazemonger

+2

Globals! == POST. – deceze

+0

ok Я не уверен, есть ли у меня возможность получить сообщение? –

ответ

0

вы можете использовать ниже функцию:

function post_value($key=''){ 
if($key!='') { 
    if(!is_array($_POST[$key])) 
      return trim($_POST[$key]); 
     else 
      return $_POST[$key]; 

} 
else 
    return; 
} 
+2

Это, вероятно, самое clunkiest решение этой не-проблемы; и, конечно, его приняли. – deceze

2

почему не

function get($var) { 
    return $_POST[$var]; 
} 

?

+0

он возвращает мне ту же ошибку –

+1

ошибка say 'nom' не найдена, но ваш пример использует 'surname' ... – mb14

+0

Функция, называемая '' get' 'для возврата значений тела POST ... Как если бы стандартная номенклатура PHP не была Уже немного запутался. ; -P Тем не менее, правильный ответ. – deceze

1

Есть данные запроса, как POST и GET не регистрируются как глобальные переменные, если не имеет register_globals директивы в php.ini включена. Я бы сказал, что он НЕ включен, и он НЕ должен включаться. Поскольку PHP 4.x когда-то был отключен.

Alternative

function get($variable) { 
    return isset($_REQUEST[$variable]) 
     ? $_REQUEST[$variable] : null; 
} 
Смежные вопросы