채택완료

에러 도와주세요...

2017-04-13 (목) 02:29:26 8,779

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

 

- skin.lib.php 파일은 list.skin.php 코드 상단에 include_once 해주었습니다.


list.skin.php

 

<input type="checkbox" id="wr_4_0" name="wr_4[]" value="사과">

<input type="checkbox" id="wr_4_1" name="wr_4[]" value="수박">

<input type="checkbox" id="wr_4_2" name="wr_4[]" 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

Copy
$arr_search = array();for($j = 1; $j < 11; $j++){	if($_GET["wr_".$j] && strlen($_GET["wr_".$j]) > 0){		$qstr .= "&wr_".$j."=".urlencode($_GET["wr_".$j]);	} }

145~151

Copy
$arr_search = array();for($j = 1; $j < 11; $j++){	if(($_GET["wr_".$j] && strlen($_GET["wr_".$j]) > 0 ) || is_array($_GET["wr_".$j])) {		$arr_search[name][] = "wr_".$j;		$arr_search[val][] = $_GET["wr_".$j];	}}

이 부분만 봐서 해결될 문제일까요?

|

답변 3개 / 댓글 3개

채택된 답변
+20 포인트

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

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

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

 

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

 

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

답변에 대한 댓글 1개

감사합니다~!

4~9줄은 아예 없애고

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

감사합니다 !!
2017-04-13 (목) 10:13:06
Copy
$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;}
 

답변에 대한 댓글 1개

답변 감사합니다 ㅎㅎ

배열은 0부터 시작합니다.

Copy
for($j=0; $j<10; $j++){    $len = strlen($_GET['wr_'.$j]); }

이 되겠지요

답변에 대한 댓글 1개

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

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