Как передать переменную как ключ $ _POST в PHP? - PullRequest
6 голосов
/ 07 ноября 2011

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

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

Спасибо

Ответы [ 4 ]

14 голосов
/ 07 ноября 2011

Если я правильно понял, вы хотите передать переменную из одного 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.

9 голосов
/ 07 ноября 2011
$_POST['key'] = "foo";
echo $_POST['key'];

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

4 голосов
/ 07 ноября 2011

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

$postName = "test";
$postTest = $_POST[$postName];
$_POST["test"] == $postTest; //They're equal
0 голосов
/ 07 ноября 2011

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

Пример:

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...