list페이지에서는 여분필드 쓰기가 불가능 한가요?? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

list페이지에서는 여분필드 쓰기가 불가능 한가요?? 정보

list페이지에서는 여분필드 쓰기가 불가능 한가요??

본문

list.skin.php에서 쓴 내용입니다.

<? for ($i=0; $i<count($list); $i++) { ?>
<?
//본문 태그 있으면 이미지 출력
  $str =nl2br($list[$i][wr_content]);

if (preg_match("#(\<(embed|object)[^\>]*)\>(\<\/(embed|object)\>)?#i", $str)) {?>
<input type=hidden name=wr_3 value="flash">
<?}?>

~~~~

글 내용을 변수로 받아 특정 값이 있으면 여분필드에 flash라는 값을 넣으려고 하는데
값이 저장이 되질 않네요.

고수님들 한수 부탁드립니다.!

댓글 전체

write_update.php가 실행되면서 같이 처리되어야 하므로 bbs/write_update.php를 손대거나 혹은 이 파일에서 프로세스 시작 부분에 skin/board/스킨이름(기본은 basic)/write_update.head.skin.php를 불러오므로 write_update.head.skin.php를 만들어 넣으면 될 것 같네요.

내용은 대략 다음과 같이 하면 될 것 같습니다:

<?php
if (!defined('_GNUBOARD_')) exit;

if (preg_match("#(\<(embed|object)[^\>]*)\>(\<\/(embed|object)\>)?#i", $_POST[wr_content])) $wr_1 = 'flash';

?>

여기서 여분필드를wr_1로 가정했기에 $wr_1이 왔구요, 다른 것으로 원하면 바꾸어 주면 됩니다. 이렇게 파일을 만들어 스킨 폴더에 넣으면 write_update.php파일이 실행되면서 자동으로 이 파일을 불러와서 실행하게 됩니다. 그리고 데이터베이스에 wr_1필드에 flash라는 변수값이 자동으로 입력됩니다.
정규식을 확인안하고 분장이님이 올린 그대로 했는데 문제가 있을 거 같아 수정했습니다:

<?php
if (!defined('_GNUBOARD_')) exit;

if (preg_match("/\<(embed|object)[^\>]*\>(.*)(\<\/(embed|object)\>)?/i", $_POST[wr_content])) $wr_1 = 'flash';

?>

확인해 보았는데 잘 됩니다. wr_1에 flash값이 들어가는 거 확인했습니다.

그리고 한가지 더 주의할 점은 cheditor를 쓰고 있다면 이게 버그가 있어, 플래쉬올리면 깨질 염려는 있습니다. 만일 깨지면 flash글자가 wr_1값에 들어가지 않겠죠. flash글자가 들어가지 않으면 wr_content값이 뭐가 들어갔는지도 확인해보셔야 합니다.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT