簡體   English   中英

如何動態設置GET POST和REQUEST字符串

[英]How to set GET POST and REQUEST strings dynamically

好了,一段時間以來,我一直在嘗試動態設置GET POST和REQUEST變量。

我將我希望它獲取或發布或請求的變量存儲在sql表中。 每個變量都有自己的列。 在同一行中,它記錄了我希望它嘗試使用的類型(GET,POST,REQUEST)。 我告訴你這件事,以便您了解我要如何去做。

資源

$snmpbq=$os_DB->query("SELECT * FROM `spiders` WHERE site = '".$site_name."'") or die(mysql_error());
$num=$os_DB->num($snmpbq);
if($num == 1)
{
//get row as an associative array
$pb=$os_DB->fetch($snmpbq);
//data request type
$req_type = $pb['net_req_type'];
$a1       = $pb['a'];
$b1       = $pb['b'];
$c1       = $pb['c'];
$d1       = $pb['d'];
$e1       = $pb['e'];
$f1       = $pb['f'];
if($req_type == "get")
{
    $a   = $_GET[$a1];
    $b   = $_GET[$b1];
    $c  = $_GET[$c1];
    $d = $_GET[$d1];
    $e  = $_GET[$e1];
    $f   = $_GET[$f1];
}

您可以通過將塊替換為1塊,從而以一種更加簡潔的方式來完成此操作...而不是檢查請求類型。

如果刪除所有塊並替換為:

$a   = $_REQUEST[$a1];
$b   = $_REQUEST[$b1];
$c  = $_REQUEST[$c1];
$d = $_REQUEST[$d1];
$e  = $_REQUEST[$e1];
$f   = $_REQUEST[$f1];

根據此處的PHP文檔

$ _REQUEST中的變量是通過GET,POST和COOKIE輸入機制提供給腳本的,因此可以由遠程用戶修改,並且不能被信任。 此數組中列出的變量的存在和順序是根據PHP variables_order配置指令定義的。

聽起來您需要使用變量variable

$result = 'someDataBaseQueryResult';
$$result = 'cool'; // now $someDataBaseQueryResult === 'cool'

您的問題有點令人困惑,但是您可以將其提高到第n級。

示例代碼的想法:

$sReq = $pb['net_req_type'];

foreach($pb as $key => $value) {

    if($key == 'net_req_type')
        continue;

     ${$key} = $_GET[$value];

}

已經有點晚了,我有點喝醉了,但我認為可能已經接近了。 尚未執行...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM