묻고답하기
상담 요청 정보 입력받아서 게시판에 등록 시키기(구현 동영상 포함)
2013.01.28 17:19
일단 동영상은 송동우님의 답변(http://www.xpressengine.com/qna/21388588)에 있는 swf파일임을 밝힙니다.
답변을 보면
적당히 폼을 하나 만드세요
폼제목은 전화번호로 하고
내용은 그대로 내용으로 해서
폼처리는
{@
$obj->title = $formTitle; //폼의 tel 항목의 name 입니다.
$obj->content = $formContent; //폼의 내용 항목의 name 입니다.
$obj->module_srl = 62;
$obj->member_srl = $logged_info->member_srl;
$obj->user_id = $logged_info->user_id;
$obj->user_name = $logged_info->user_name;
$obj->nick_name = $obj->last_updater = $logged_info->nick_name;
$obj->email_address = $logged_info->email_address;
$obj->homepage = $logged_info->homepage;
$obj->document_srl = getNextSequence();
$obj->list_order = $obj->update_order = -1*getNextSequence();
$obj->lang_code = Context::getLangType();
$obj->regdate = $obj->last_update = date("YmdHis");
$output = executeQuery('document.insertDocument', $obj);
$output->error?alertScript('Failed!!!'):alertScript('Sent!!!')
}
이렇게 해주면 됩니다......
비로그인 회원도 보낼수 있게 하려면 회원정보 값을
중복되지 않게 입력되도록 처리하면 되고.......
이런 내용이 있습니다. 근데 이 무식한 머리로는 "폼처리"하라는 뜻을 몰라 하루종일 네이버와 구글, 심지어 다음까지 돌아다니면서 찾고 있습니다. 수차례 XE 메뉴얼을 읽어보아도 방법을 못 찾겠구요. 저렇게 답변해주신거보면 참 쉬운 방법 같은데 도저히 방법을 못 찾겠습니다. ㅠ
고수님들 제발 한번만 도와주세요 ㅠ
저 동영상대로 구현하기 위해서 어떤 작업을 해야하는 것인지.. 같은 방식으로 확장변수도 사용할 수 있는 것인지..
아니면 "폼처리"라는 것이 무엇을 하라는 뜻인지만이라도 알려주세요 ㅠ
댓글 3
-
송동우
2013.01.28 18:14
-
Park''sTRADE
2013.01.28 18:30
답변 감사합니다 ^^ -
Park''sTRADE
2013.01.28 18:30
답변 감사합니다 ^^일단 기본적으로 html은 할 줄 알고 폼 태그로 값을 넘기는 것도 압니다. 그런데 XE 구조에 대해서는 잘 모릅니다 ㅠ 질문 내용에 이러한 내용도 썼었어야 하는데 죄송합니다 ㅠ답변 기다리면서 폼을 만들어서 대충 성공은 했는데 송동우님 동영상처럼 페이지 이동없이 처리하는 것은 구현하지 못했구요 ㅠ$output->error?alertScript('Failed!!!'):alertScript('Sent!!!') 이 구문만 들어가면 에러가 떠서 이 구문없이 페이지 이동으로는 일단 성공했습니다. ㅠ일단 2가지 문제점을 뒤로 하고 확장변수도 시도해봤는데 확장변수는 배열 때문인지 도저히 답이 안나오고용 ㅠ절대 절대 귀찮아서가 아니라 송동우님께서 동영상으로 구현하셨던 html을 공개해주시면 저는 저 나름대로 그걸 보고 열심히 공부하고 다른 분들은 유사한 사례에 적용시켜 큰 도움이 될 것 같습니다. ㅠ점심을 거르고 이러고 있으니 9시간 30분째 해당 문제를 해결하려고 검색을 했는데 비슷한 질문을 하신 분들은 많았어도 정확한 답변은 송동우님 답변(http://www.xpressengine.com/qna/21388588) 하나 밖에 없었습니다. ㅠ 부탁드립니다 ㅠ -
송동우
2013.01.28 21:01
$output->error?alertScript('Failed!!!'):alertScript('Sent!!!');
여기에서 오류가 난다는 것은
아마도 사용하고 있는 코어버전이 1.5.x 가 아닌것으로 생각됩니다.
1.4.x 버전에서는 alertScript 함수가 정의되어 있지 않아서 오류가 납니다.
그건 어차피 alert창을 띄우기 위한 것이니까 없어도 상관은 없습니다........
확장변수는 db에 따로 테이블이 있기때문에
쿼리를 한 번 더 날려주면 됩니다......
{@
$obj->title = $formTitle; //폼의 tel 항목의 name
$obj->content = $formContent; //폼의 내용 항목의 name
$obj->module_srl = 62; //숫자는 글이 저장될 게시판 모듈번호로 변경해야 함$obj->member_srl = $logged_info->member_srl;
$obj->user_id = $logged_info->user_id;
$obj->user_name = $logged_info->user_name;
$obj->nick_name = $obj->last_updater = $logged_info->nick_name;
$obj->email_address = $logged_info->email_address;
$obj->homepage = $logged_info->homepage;
$obj->document_srl = getNextSequence();
$obj->list_order = $obj->update_order = -1*getNextSequence();
$obj->lang_code = Context::getLangType();
$obj->regdate = $obj->last_update = date("YmdHis");
$output = executeQuery('document.insertDocument', $obj);
$obj->var_idx = 1; //확장변수가 등록된 순서, 1은 첫번째 등록된 확장변수라는 뜻
$obj->value = $ext1; //폼의 확장변수 name
$obj->eid = 'aaa1'; //확장변수명
executeQuery('document.insertDocumentExtraVar', $obj);
$output->error?alertScript('Failed!!!'):alertScript('Sent!!!');
}html 폼은 대충 입력하고 싶은 항목을 만들어 넣으면 됩니다.....
method는 post action은 그냥 아무것도 없이 "" 처리하면 되구요
-
Park''sTRADE
2013.01.29 17:40
송동우님 감사인사가 늦었습니다 ^^ 오늘은 또 다른 부분을 시도하느라 ^^ 원래 XE는 따로 파고들지 않으려고 했었는데 송동우님처럼 다른 분들에게 도움이 되기 위해서 열심히 공부해보려구요 ^^ 송동우님 덕분에 많은 걸 배워갑니다.. 감사합니당 ^^
흠........
어디서 부터 어떻게 설명을 해야할지 모르겠네요......
php에 대해서 얼마나 알고 계시는지도 모르겠고.......
폼을 작성하라는 것은
html 로 원하는 항목을 만들고 사용자가 그 항목에 정보(값)를 입력시켜서
제출을 하면 그 값을 서버에서 받아서 처리하는.....뭐 대충 그런겁니다.......
지금 게시판에 글쓰기 하고 이런 것도 같은 것이라 생각하면 되구요.......
질문의 코드는 폼에서 작성되어 넘겨지는 값을 처리하는 것입니다......
폼을 작성하는 것은 기본 html만 알아도 되고
그것을 처리하는 것을 구현하려면 php를 알아야 합니다......
도움을 드리고 싶은데.......
답변으로 강좌를 할 수는 없는 노릇이고........
공부를 좀 하셔야 할 것 같은데요........
어떻게 도와 드려야 할 지 생각이 떠오르지 않네요........