我试图开发一个网页(menu.php
),当点击访问stock-c.php
中的许多方法中的"一个"时,它有一个<div>
。我开发的代码如下:
menu.php
<?php
require_once '../control/stock-c.php';
?>
<html>
<body>
<div onclick="<?php $obj=new StockController(); $obj->checkAccessRights();?>"> //I know this is a wrong implementation
//some code here
</div>
</body>
</html>
stock-c.php
class StockController{
public function checkAccessRights(){
//some code here
}
public function getPID(){
//some code here
}
}
我知道menu.php
文件的onclick
事件是一个错误的实现。
因为会有其他的情况,我将需要调用其他方法(如getPID()
)在其他PHP网页,我不确定是否使用jQuery创建一个AJAX调用onclick
事件在menu.php
访问一个"改变"的stock-c.php
文件,如:
class StockController{
$obj=new StockController();
$obj->checkAccessRights();
public function checkAccessRights(){
//some code here
}
public function getPID(){
//some code here
}
}
,这是建议在如何调用PHP函数类从HTML按钮点击将工作,因为这打破了我的能力,以访问其他函数。我只是不确定我还有什么选择。
在脚本中调用不同方法的一种方法是使用PHP的变量函数。这将允许使用get或post请求调用脚本,并使用输入来选择调用哪个函数。
从php.net:
<?php
class Foo
{
function Variable()
{
$name = 'Bar';
$this->$name(); // This calls the Bar() method
}
function Bar()
{
echo "This is Bar";
}
}
$foo = new Foo();
$funcname = "Variable";
$foo->$funcname(); // This calls $foo->Variable()
?>
出于安全考虑,最好使用switch语句或其他限制输入的方法,以防止用户调用任意函数。