在LR中动态拼接参数的问题

在很多时候系统是提供了多选并且组合提交的操作,这个时候请求就需要动态拼接了,这里举个参考的例子给大家,希望能够让大家明白怎么回事。

比如这里有一个ID列表,通过关联可以拿到对应的所有编号

注意这里的参数名叫做id,是一个参数数组,那么要发出的是这个数组所有元素的组合怎么办呢?

通过lr_save_string和lr_eval_string来动态拼接。

拼接代码

lr_save_string(lr_paramarr_idx("id",1),"temp1");

for(i=2;i<=lr_paramarr_len("id");i++)

{

    lr_save_string(lr_paramarr_idx("id",i),"temp");

    lr_save_string(lr_eval_string("{temp1}_{temp}"),"temp1");



}

整个POC代码

int i;

web_reg_save_param("id",

    "LB=id=\"normalthread_",

    "RB=\"",

    "Ord=ALL",

    "Search=NoResource",

    LAST);



web_url("test","URL=http://127.0.0.1/discuzx1.5/forum.php?mod=forumdisplay&fid=2",LAST);



lr_save_string(lr_paramarr_idx("id",1),"temp1");

for(i=2;i<=lr_paramarr_len("id");i++)

{

    lr_save_string(lr_paramarr_idx("id",i),"temp");

    lr_save_string(lr_eval_string("{temp1}_{temp}"),"temp1");



}

实现原理就是通过参数数组遍历获取每一个值,然后累加即可,如果大家需要修改自己的拼接机制,只需要修改

lr_save_string(lr_eval_string("{temp1}_{temp}"),"temp1");

这里的连接符_下划线即可。

声明:来自TestOps,仅代表创作者观点。链接:https://eyangzhen.com/2142.html

TestOps的头像TestOps

相关推荐

关注我们
关注我们
购买服务
购买服务
返回顶部