这是我的设置。
我有一个html注册表单,当用户输入用户名,电子邮件等时。信息的发送方式如下:
var processFile = "../inc/ajax.inc.php";
$("#register").change(function(){
var postdata = $("#register").serialize();
$.ajax({
type: "POST",
url: processFile,
data: "action=reg_validation&" + postdata ,
success: function(data){
}
});
console.log("action=reg_validation&" + postdata);
});
这打印例如:
action=reg_validation&u=user&p=123&p2=&e=&r=
我的ajax.inc.php文件:
/*
* Create a lookup array for form actions
*/
$actions = array(
'reg_validation' => array(
'object' => 'Intro',
'method' => 'check_reg_form'
)
);
if ( isset($actions[$_POST['action']]) )
{
$use_array = $actions[$_POST['action']];
$obj = new $use_array['object'];
echo $obj->$use_array['method'];
}
function __autoload($class_name)
{
$filename = '../../sys/class/class.'
. strtolower($class_name) . '.inc.php';
if ( file_exists($filename) )
{
include_once $filename;
}
}
此代码应该在Intro
中调用名为check_reg_form
的类和名为class.intro.inc.php
的函数。这几乎起作用。
如果我用class.intro.inc.php
开始:
echo "test 1";
exit();
我得到test 1
作为回应,但这不起作用:
class Intro
{
public function check_reg_form()
{
echo "test 2";
}
}
不确定为什么这不起作用...当我得到test 2
时,我得到一个空白的回复..
答案 0 :(得分:0)
我认为你只是错过了parens。
$obj = new $use_array['object']();
echo $obj->$use_array['method']();