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라는 값을 넣으려고 하는데
값이 저장이 되질 않네요.

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

댓글 6개

목록에서
<form을 사용하시는 건가요?
엑스엠엘님 또 댓글달아주셔서 감사합니다 꾸벅

form 말고 for 밑에 바로 썼는데 안되네요ㅠㅠ
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라는 변수값이 자동으로 입력됩니다.
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에 flash값이 들어가는 거 확인했습니다.

그리고 한가지 더 주의할 점은 cheditor를 쓰고 있다면 이게 버그가 있어, 플래쉬올리면 깨질 염려는 있습니다. 만일 깨지면 flash글자가 wr_1값에 들어가지 않겠죠. flash글자가 들어가지 않으면 wr_content값이 뭐가 들어갔는지도 확인해보셔야 합니다.
감사합니다!
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

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

+
제목 글쓴이 날짜 조회
14년 전 조회 992
14년 전 조회 1,547
14년 전 조회 1,458
14년 전 조회 1,626
14년 전 조회 1,557
14년 전 조회 1,627
14년 전 조회 1,657
14년 전 조회 1,560
14년 전 조회 1,539
14년 전 조회 1,911
14년 전 조회 1,700
14년 전 조회 1,554
14년 전 조회 1,509
14년 전 조회 1,861
14년 전 조회 1,585
14년 전 조회 1,548
14년 전 조회 1,638
14년 전 조회 1,050
14년 전 조회 1,150
14년 전 조회 1,515