php
/**
フォームアクションをキーとした連想配列を生成
*/
$actions = array(
'event_edit' => array(
'object' => 'Calendar',
'method' => 'processForm',
'header' => 'Location:../../'
),
'user_login' => array(
'object' => 'Admin',
'method' = > 'プロセスログインフォーム',
'ヘッダ' => '場所:../../'
)
);
/**
セッション内のアンチクロスサイトマークが提出されたマークと一致しており、要求されたアクションが合法であることを確認してください
*/
if ( $_POST['トークン']==$ _SESSION['token'] &&
isset($actions[$_POST['action']]) ) {
$use_array = $actions[$_POST['action']];
$obj = 新しい $use_array'object' ;
<code>if ( true == $msg=$obj->$use_array['method']() ) { header($use_array['header']); exit;} else { die( $msg );}</code>
} else {
//トークン/アクションが不正な場合は、ホームページにリダイレクトします
header("Location:../../");
exit;
}
function __autoload($ class) {
<code>$filename = "../../../sys/class/class.".$class.".inc.php";if ( file_exists($filename) ) { include_once $filename;}</code>
}
主な問題は次のとおりです: $obj->$use_array'method'
このステップに到達するとすぐに、関数名は E:qampphtdocsSource Filespublicassetsincprocess.inc.php の文字列である必要があります。 :40 スタック トレース : #0 {main} が E:qampphtdocsSource Filespublicassetsincprocess.inc.php の 40 行目でスローされましたエラー。
$obj を使用して、このクラスの processForm() メソッドまたは processLoginForm() メソッドを直接呼び出すことができます。
神に助けを求めてください。
http://blog.sina.com.cn/s/blog_8d7518cb0100zk1t.html