Как передать переменную как ключ $ 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 ....
Я не так, как было предложено ниже в комментариях зацикливание всех данных и добавления к переменной цикла им заранее определенный список переменных и хранить их в переменных ...
У меня есть изменить метод получения данных