如何在PHP中傳遞一個變量作爲$ _POST數組鍵值?還是不可能?
$test = "test";
echo $_POST[$test];
感謝
如何在PHP中傳遞一個變量作爲$ _POST數組鍵值?還是不可能?
$test = "test";
echo $_POST[$test];
感謝
$_POST['key'] = "foo";
echo $_POST['key'];
如果我理解正確的,你想設置一個$_POST
關鍵。
是的,是的,你可以:
$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循環預先確定的變量列表並將它們存儲在變量中...
我改變了獲取d ata
這應該幾乎從來沒有完成,我可以輕鬆地注入您的代碼或更改您的系統變量,並通過修改查詢字符串收集系統信息! – Fabrizio
@Fabrizio對不起,我的無知 - 你怎麼注入我的代碼 - 數組是服務器端?它與列出每一個有什麼不同 – ManseUK
假設你有一個名爲'$ mysql_user'的系統變量,並且我傳遞了類似'?mysql_user = root'的查詢,你將嘗試使用用戶連接到你的mysql服務器'root'。它可能會給屏幕上的錯誤提供更多的信息。你正在試圖仿效'register_global'在PHP中做什麼。有一個原因爲什麼這是現在棄用;-) – Fabrizio
如果我明白你的意思,你想通過發佈將一個變量從一個php文件傳遞給另一個。這確實有幾種可能。
1.隨着HTML形式
<form action="target.php" method="post">
<input type="text" name="key" value="foo" />
<input type="submit" value="submit" />
</form>
如果你點擊提交按鈕,0在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
輸出。
您演示的內容應該有效,但我不確定您要做什麼? –
哦,天哪,它的作品。另一段代碼被扔掉了。 – Dietpixel