묻고답하기
[질문] form 에서 act 설정
2014.11.29 10:42
file : module.xml 정의
----------------------------
<action name="procUpdateItem" type="controller" ruleset="@update"/>
===========================
file : xxx.controller.php 함수 생성
----------------------
function procUpdateItem()
{
debugPrint('###');
}
=======================
file : update.html 에서 procUpdateItem 호출
----------------------
<form method="post" action="./" enctype="multipart/form-data" ruleset="@update" >
<input name="act" type="hidden" value="procUpdateItem" />
...
<button type="submit" >수정</button>
</form>
=========================
update.html 페이지에서 "수정" 버튼을 클릭하면, 기능수행이 안되고요.
"잘못된 요청입니다." 라고 뜹니다.
복사해서 만든 다른 페이지들은 잘 되는데, 이페이지만 유독 안되는 이유가 뭘까요???
뭘 잘못한것일까요?
ruleset 도 적용이 잘 되는데, act 만 호출이 안됩니다.
<input name="mid" type="hidden" value="{$mid}" /> 도 넣어 봤는데도 증상은 같습니다.
로그를 찍어 보면, procUpdateItem 함수 자체를 인식 못합니다.
마치 없는것 같이 움직입니다.
어디를 봐야 해결 할 수 있을까요?
사용하는 함수들과 module.xml 에서 함수이름들을 전부 바꿔주었습니다.
그런데, 예전 함수를 부르면 동작을 합니다. ㅡ,.ㅡ????????
동작을 하면 안되는데, 동작을 하고, 바꿔놓은 함수는 없는것 같이 움직입니다.
참고로
기존 모듈을 복사해서, 새로 기능을 보강하는 작업을 하고 있습니다.
modules/dada/ 통째로 복사 해서 modules/bebe 라고 만들었습니다.
댓글 3
-
카르마
2014.11.29 12:45
-
YJSoft
2014.11.29 12:47
함수 네이밍 규칙에 맞지 않기 때문입니다.
모든 모듈 함수는 중간에 모듈명이 포함되어야 합니다.
즉, procUpdateitem 대신 proc(모듈명)Updateitem처럼 변경해 주셔야 합니다.
예를 들어 모듈명이 loginxe라면 procloginxeUpdateitem처럼 변경해 주시면 됩니다.
-
비상9
2014.11.29 13:27
카르마님, YJSoft 님 감사합니다.
말씀하신것 같이 모듈명이 달라서 문제를 만든것 같습니다.
Bebe 를 bebe 했더니 어떤것은 동작을 하고 어떤것은 동작을 안하는 이상한 현상이 나타났던것 같습니다.
답변 감사합니다.
함수이름을 procBebeUpdateItem으로 바꿔서 테스트해보시기 바랍니다.