php
/**
以表單action鍵產生一個關聯數組
*/
$actions = array(
'event_edit' => array(
'object' => 'Calendar',
'methodods' => 'prosFormu'
'header' => 'Location:../../'
'user_login' => array(
'object' => 'Admin',
'method' => 'processLoginForm',
' header' => 'Location:../../'
)
);
保證session中的防跨站標記與提交過來的標記一致及請求action合法
*/
if ( $_POST['token']==$_SESSION['token'] &&
isset ($actions[$_POST['action']]) ) {
$use_array = $actions[$_POST['action']];
<code>if ( true == $msg=$obj->$use_array['method']() ) { header($use_array['header']); exit;} else { die( $msg );}</code>
<code>$filename = "../../../sys/class/class.".$class.".inc.php";if ( file_exists($filename) ) { include_once $filename;}</code>
這個的問題:$obj->$use_array'method'
一到這個步驟就會出現Function name must be a string in E:qampphtdocsSource Filespublicassetsincprocess.inc.php:40 Stack trace: #0 {main} thrown in E: qampphtdocsSource Filespublicassetsincprocess.inc.php on line 40錯誤。
如果用$obj直接呼叫該類別中的processForm()或processLoginForm()方法的話,都可以。
請求大神幫忙看看。
http://blog.sina.com.cn/s/blog_8d7518cb0100zk1t.html