Как передать переменную как значение ключа массива $ _POST в PHP? Или это невозможно?
$test = "test"; echo $_POST[$test];
благодаря
$_POST['key'] = "foo"; echo $_POST['key'];
Если я правильно понял, вы хотите установить ключ $_POST
.
Если я получу вас правильно, вы хотите передать переменную из одного 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
.
Да, да, вы можете:
$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 ….
Я не так, как было предложено ниже в комментариях, зацикливая все данные и добавляя в переменную-im цикл предварительно заданного списка переменных и сохраняя их в переменных …
Я изменил метод получения данных