从页面上的按钮/表单执行PHP函数

时间:2013-12-03 10:18:36

标签: php function

我在一个页面上有150多个函数,下面是3的示例(其他函数的名称不同,在'system'之后包含不同的数字)。

function GappsMail1()
{ $doc->root->node->system[0]->setCDATA("1"); }
function GappsMail2()
{ $doc->root->node->system[0]->setCDATA("2"); }
function GappsMail3()
{ $doc->root->node->system[0]->setCDATA("3"); }

我想要做的是根据页面上点击的内容运行每个功能,例如上面的3个功能将由“R”,“A”和“G”表示,如果是用户单击R然后执行“GappsMail1”。是否有捷径可寻? (我还在学习PHP!)。我知道函数有效,我只是不知道如何创建一个按钮来运行每个函数。感谢

1 个答案:

答案 0 :(得分:0)

为每个按钮创建一个表单

<form action='mypage.php' name='func1' method='post'>
<input type='hidden' name='function' value='R' />
<input type='submit' value='Button R'>
</form>

然后在mypage.php中(可以与表单相同的页面)

<php
if ($_POST['function']=="R") {
GappsMail1();
}
elseif ($_POST['function']=="A") {
GappsMail2();
}

或者,您可以直接通过姓名来调用函数。这样您就不必生成150个if-else语句。见Variable Functions。请注意,如果您直接通过名称调用函数,则这是一个可能的漏洞,因为攻击者可以修改POST数据并执行他想要的任何函数。你需要先做一些健全检查。