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

php variables

61945 просмотра

4 ответа

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

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

Спасибо

Автор: Dietpixel Источник Размещён: 12.11.2019 09:45

Ответы (4)


9 плюса

Решение
$_POST['key'] = "foo";
echo $_POST['key'];

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

Автор: Dimitar Marinov Размещён: 06.11.2011 08:54

15 плюса

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

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. Через AJAX (jQuery (JavaScript))

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

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

Автор: Quasdunk Размещён: 06.11.2011 09:08

4 плюса

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

$postName = "test";
$postTest = $_POST[$postName];
$_POST["test"] == $postTest; //They're equal
Автор: JCOC611 Размещён: 06.11.2011 08:54

0 плюса

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

Пример :

// 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]);
?>

Обновлено на основе комментариев и отзывов ....

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

Я изменил способ получения данных

Автор: ManseUK Размещён: 06.11.2011 08:55
Вопросы из категории :
32x32