Как передать переменную как ключ $ POST в PHP?

Как вы можете передать переменную как значение ключа массива $_POST в PHP? Или это невозможно?

$test = "test";
echo $_POST[$test];

спасибо

4 ответов


$_POST['key'] = "foo";
echo $_POST['key'];

Если я правильно понял, вы хотите установить $_POST ключ.


если я правильно понял, вы хотите передать переменную из одного php-файла в другой через post. Это возможно несколькими способами.

1. С HTML-формой

<form action="target.php" method="post">
  <input type="text" name="key" value="foo" />
  <input type="submit" value="submit" />
</form>

если вы нажмете на кнопку Отправить,$_POST['key'] на target.php содержит 'foo'.

2. Непосредственно из PHP

$context = stream_context_create(array(
    'http' => array(
      'method'  => 'POST',
      'header'  => "Content-type: text/html\r\n",
      'content' => http_build_query(array('key' => 'foo'))
    ),
  ));
$return = file_get_contents('target.php', false, $context); 

то же самое, что и в 1. и $return будет содержать всей продукции, произведенной target.php.

3. Via AJAX (jQuery (JavaScript))

<script>
$.post('target.php', {key: 'foo'}, function(data) {
  alert(data);
});
</script>

то же самое, что и в 2., а теперь data содержится вывод target.php.


Да, да, вы можете:

$postName = "test";
$postTest = $_POST[$postName];
$_POST["test"] == $postTest; //They're equal

работает так же, как вы сказали ...

пример :

// create an array of all the GET/POST variables you want to use
$fields = array('salutation','fname','lname','email','company','job_title','addr1','addr2','city','state',
                'zip','country','phone','work_phone');

// convert each REQUEST variable (GET, POST or COOKIE) to a local variable
foreach($fields as $field)
    ${$field} = sanitize($_POST[$field]);
?>

обновлено на основе комментариев и downvotes ....

Я не так, как было предложено ниже в комментариях зацикливание всех данных и добавления к переменной цикла им заранее определенный список переменных и хранить их в переменных ...

У меня есть изменить метод получения данных