분류를 사용을 체크하고 분류를 사용중인데 이걸 체크박스로 다중 선택 채택완료
분류를 사용을 체크하고 분류를 사용중인데 이걸 체크박스로 다중 선택이 가능하도록 하려고 하고 있습니다.
https://sir.kr/g4_tiptech/26035
이부분을 참고하여 체크박스로 변경은 완료됬으나, 선택을 하더라도 분류를 선택하세요 라는 알림창이 뜨는 상태입니다.
write.skin.php 는 이렇게 작성하였습니다.
Copy
<?php if ($is_category) { ?>
<li class="divmb-10">
<!--<select name="ca_name" id="ca_name" required class="select_w w40">
<option value="">분류를 선택하세요</option>
<?php echo $category_option ?>
</select>-->
<tr>
<td class=write_head>사이트 분류</td>
<td>
<?
$arr=explode("|",$board['bo_category_list']);
foreach($arr as $str) { ?>
<input type=checkbox name=chk_ca_name[] value='<?=$str?>' ><?=$str?>
<? } ?>
<script>
var f = document.fwrite;
var str=",<?=$write[ca_name]?>,";
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_ca_name[]") {
if (str.indexOf(','+f.elements[i].value+',')>=0) {
f.elements[i].checked = true;
}
}
}
</script>
</td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
</li>
<?php } ?>
write_update.head.skin.php파일은 보이지 않아, write.skin.php가 있는 같은 폴더 안에 새로 만들어 이렇게 넣었습니다.
Copy
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$ca_name='';
foreach($_POST['chk_ca_name'] as $var) {
$ca_name.=",$var";
}
if (strlen($ca_name)) $ca_name=substr($ca_name,1);
?>
문제점이 크게 없어보이는데 무엇이 문제일까요...?
bbs/write_update.php 에서는 @include_once($board_skin_path.'/write_update.head.skin.php');
이렇게 잘 불러오는 코드가 넣어져있습니다 ㅠ
답변 2개
채택된 답변
+20 포인트
4년 전
<?php echo $category_option ?> 이부분을없애보세요.
그리고
if (strlen($ca_name)) $ca_name=substr($ca_name,1);
이걸
if (strlen($ca_name)) $_POST['ca_name'] =substr($ca_name,1);
이렇게 해보시구요.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 5개
4년 전
if (strlen($ca_name)) $ca_name=substr($ca_name,1); 이걸
if (strlen($ca_name)) $_POST['ca_name'] =substr($ca_name,1);
이렇게해보실레요.
if (strlen($ca_name)) $_POST['ca_name'] =substr($ca_name,1);
이렇게해보실레요.
4년 전
if (strlen($ca_name)) $_POST['ca_name'] =substr($ca_name,1);
이부분도 확인했는데 해결이 되지 않네요 ㅠㅠ
이부분도 확인했는데 해결이 되지 않네요 ㅠㅠ
4년 전
bbs/write_update.php 에서
if(!$ca_name) {
$msg[] = '<strong>분류</strong>를 선택하세요.';
} else {
$categories = array_map('trim', explode("|", $board['bo_category_list'].($is_admin ? '|공지' : '')));
if(!empty($categories) && !in_array($ca_name, $categories))
$msg[] = '분류를 올바르게 입력하세요.';
if(empty($categories))
$ca_name = '';
}
지워보시고 값이 잘들어가나 확인해보세요.
if(!$ca_name) {
$msg[] = '<strong>분류</strong>를 선택하세요.';
} else {
$categories = array_map('trim', explode("|", $board['bo_category_list'].($is_admin ? '|공지' : '')));
if(!empty($categories) && !in_array($ca_name, $categories))
$msg[] = '분류를 올바르게 입력하세요.';
if(empty($categories))
$ca_name = '';
}
지워보시고 값이 잘들어가나 확인해보세요.
댓글을 작성하려면 로그인이 필요합니다.
4년 전
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인