분류를 사용을 체크하고 분류를 사용중인데 이걸 체크박스로 다중 선택 채택완료
qoqofh
4년 전
조회 1,456
분류를 사용을 체크하고 분류를 사용중인데 이걸 체크박스로 다중 선택이 가능하도록 하려고 하고 있습니다.
https://sir.kr/g4_tiptech/26035
이부분을 참고하여 체크박스로 변경은 완료됬으나, 선택을 하더라도 분류를 선택하세요 라는 알림창이 뜨는 상태입니다.
write.skin.php 는 이렇게 작성하였습니다.
</p>
<p><?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></p>
<p> <?
$arr=explode("|",$board['bo_category_list']);</p>
<p> foreach($arr as $str) { ?>
<input type=checkbox name=chk_ca_name[] value='<?=$str?>' ><?=$str?>
<? } ?></p>
<p> <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></p>
<p> </td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
</li>
<?php } ?></p>
<p>
write_update.head.skin.php파일은 보이지 않아, write.skin.php가 있는 같은 폴더 안에 새로 만들어 이렇게 넣었습니다.
</p>
<p><?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>
<p>
$ca_name='';
foreach($_POST['chk_ca_name'] as $var) {
$ca_name.=",$var";
}
if (strlen($ca_name)) $ca_name=substr($ca_name,1);
?></p>
<p>
문제점이 크게 없어보이는데 무엇이 문제일까요...?
bbs/write_update.php 에서는 @include_once($board_skin_path.'/write_update.head.skin.php');
이렇게 잘 불러오는 코드가 넣어져있습니다 ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
4년 전
이부분을없애보세요.
그리고
if (strlen($ca_name)) $ca_name=substr($ca_name,1);
이걸
if (strlen($ca_name)) $_POST['ca_name'] =substr($ca_name,1);
이렇게 해보시구요.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 5개
q
qoqofh
4년 전
그래도 해결이 되지 않아서요 ㅠㅠ
P
Phillips
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);
이렇게해보실레요.
q
qoqofh
4년 전
if (strlen($ca_name)) $_POST['ca_name'] =substr($ca_name,1);
이부분도 확인했는데 해결이 되지 않네요 ㅠㅠ
이부분도 확인했는데 해결이 되지 않네요 ㅠㅠ
P
Phillips
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 = '';
}
지워보시고 값이 잘들어가나 확인해보세요.
q
qoqofh
4년 전
지워서 확인해보았을땐 값이 잘 들어가지긴합니다
댓글을 작성하려면 로그인이 필요합니다.
4년 전
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인