好的,有一段时间我一直在尝试动态设置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];
}发布于 2015-04-20 22:58:17
你可以用更干净的方式用1块来代替块.而不是检查请求类型。
如果您移除所有块并替换为:
$a = $_REQUEST[$a1];
$b = $_REQUEST[$b1];
$c = $_REQUEST[$c1];
$d = $_REQUEST[$d1];
$e = $_REQUEST[$e1];
$f = $_REQUEST[$f1];根据PHP 这里
$_REQUEST中的变量通过GET、POST和COOKIE输入机制提供给脚本,因此远程用户可以修改这些变量,因此不能信任。这个数组中列出的变量的存在和顺序是根据指令定义的。
发布于 2015-04-19 03:40:24
听起来你需要使用可变变量。
$result = 'someDataBaseQueryResult';
$$result = 'cool'; // now $someDataBaseQueryResult === 'cool'发布于 2015-04-19 03:51:15
你的问题有点让人困惑,但你可以把这个问题说到第九位。
示例代码的想法:
$sReq = $pb['net_req_type'];
foreach($pb as $key => $value) {
if($key == 'net_req_type')
continue;
${$key} = $_GET[$value];
}现在有点晚了,我有点醉了,但我想这可能已经很近了。但还没执行..。
https://stackoverflow.com/questions/29725442
复制相似问题