php
/**
폼 액션을 키로 사용하여 연관 배열 생성
*/
$actions = array(
'event_edit' => array(
'객체' => '캘린더',
'방법' => 'processForm',
'헤더' => '위치:../../'
),
'user_login' => array(
'object' => 'Admin',
'method' => 'processLoginForm',
'header' => '위치:../. /'
)
);
/**
세션의 교차 사이트 방지 태그가 제출된 태그와 일치하고 요청된 작업이 합법적인지 확인하세요
*/
if ( $_POST['token']==$_SESSION['token'] &&
isset( $ actions[$_POST['action']]) ) {
$use_array = $actions[$_POST['action']];
$obj = new $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} throw in E:qampphtdocsSource Filespublicassetsincprocess.inc.php on line 40 오류가 나타납니다.
$obj를 사용하여 이 클래스의 processForm() 또는 processLoginForm() 메서드를 직접 호출할 수 있습니다.
하나님께 도움을 구하세요.
http://blog.sina.com.cn/s/blog_8d7518cb0100zk1t.html