테스트 사이트 - 개발 중인 베타 버전입니다

에러 도와주세요... 채택완료

토치 8년 전 조회 8,599

안녕하세요... 뜻하지 않은 오류가 발생해 이렇게 도움을 구합니다...

 

- 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개

채택된 답변
+20 포인트
g
8년 전

파라미터 값이 wr_4 는 지금 배열로 넘기는 거거든요

 

그러니까 $_GET[wr_4] 이렇게 사용을 못하구요

 

$_GET[wr_4][0] 이런식으로 사용하셔야 합니다. 

 

그부분에 대한 에러에요. 파라미터 값이 텍스트가 아닌

 

배열 즉 array 로 넘어 오니까 strlen 으로 글자수를 확인 할수가 없는겁니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

토치
8년 전
감사합니다~!

4~9줄은 아예 없애고

145~151줄의 && strlen($_GET["wr_".$j]) 만 없애 봤더니 정상적으로 잘 작동되네요 !!

감사합니다 !!

댓글을 작성하려면 로그인이 필요합니다.

 

</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개

토치
8년 전
답변 감사합니다 ㅎㅎ

댓글을 작성하려면 로그인이 필요합니다.

W
8년 전

배열은 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개

토치
8년 전
ㅠㅠ 무슨 말씀이신가요...
1하고 11로 되있는걸 0과 10으로 고쳤는데도 여전히 같은 오류가 뜹니다 ㅠㅠ
가운데 있는 것은 잘 모르겠습니다.. ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인