에러 도와주세요... 채택완료
안녕하세요... 뜻하지 않은 오류가 발생해 이렇게 도움을 구합니다...
- skin.lib.php 파일은 list.skin.php 코드 상단에 include_once 해주었습니다.
list.skin.php
[]" value="사과">
[]" value="수박">
[]" value="딸기">
위의 대괄호를 추가하니깐 아래와 같은 오류가 발생했습니다... ㅠㅠ
Warning: strlen() expects parameter 1 to be string, array given in .... on line 6
Warning: strlen() expects parameter 1 to be string, array given in .... on line 147
이렇게 떳습니다 ㅠㅠ
그 부분의 코드를 가져왔습니다.
skin.lib.php
4~9
</span></p><p><span style="font-size: 14.6667px;">$arr_search = array();</span></p><p><span style="font-size: 14.6667px;">for($j = 1; $j < 11; $j++){</span></p><p><span style="font-size: 14.6667px;"><span class="Apple-tab-span" style="white-space:pre"> </span>if($_GET["wr_".$j] && strlen($_GET["wr_".$j]) > 0){</span></p><p><span style="font-size: 14.6667px;"><span class="Apple-tab-span" style="white-space:pre"> </span>$qstr .= "&wr_".$j."=".urlencode($_GET["wr_".$j]);</span></p><p><span style="font-size: 14.6667px;"><span class="Apple-tab-span" style="white-space:pre"> </span>}</span></p><p> </p><p><span style="font-size: 14.6667px;">}</span></p><p>
145~151
</p><p>$arr_search = array();</p><p>for($j = 1; $j < 11; $j++){</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>if(($_GET["wr_".$j] && strlen($_GET["wr_".$j]) > 0 ) || is_array($_GET["wr_".$j])) {</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>$arr_search[name][] = "wr_".$j;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>$arr_search[val][] = $_GET["wr_".$j];</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>}</p><p>}</p><p>
이 부분만 봐서 해결될 문제일까요?
답변 3개
파라미터 값이 wr_4 는 지금 배열로 넘기는 거거든요
그러니까 $_GET[wr_4] 이렇게 사용을 못하구요
$_GET[wr_4][0] 이런식으로 사용하셔야 합니다.
그부분에 대한 에러에요. 파라미터 값이 텍스트가 아닌
배열 즉 array 로 넘어 오니까 strlen 으로 글자수를 확인 할수가 없는겁니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
</p><p>$arr_search = array();
foreach($_GET['wr_4'] as $k => $v) {
$j = $k + 1;
$qstr .= "&wr_".$j."=".urlencode($v);
}
$arr_search = array();
foreach($_GET['wr_4'] as $k => $v) {
$j = $k + 1;
$arr_search['name'][] = "wr_".$j;
$arr_search['val'][] = $v;
}</p><p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
배열은 0부터 시작합니다.
</p><p>for($j=0; $j<10; $j++)</p><p>{</p><p> $len = strlen($_GET['wr_'.$j]);</p><p> </p><p>}</p><p>
이 되겠지요
답변에 대한 댓글 1개
1하고 11로 되있는걸 0과 10으로 고쳤는데도 여전히 같은 오류가 뜹니다 ㅠㅠ
가운데 있는 것은 잘 모르겠습니다.. ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
4~9줄은 아예 없애고
145~151줄의 && strlen($_GET["wr_".$j]) 만 없애 봤더니 정상적으로 잘 작동되네요 !!
감사합니다 !!