채택완료

체크박스의 값을 php로 전달받아서 조건문구현

<input type="checkbox" name="modifyChk[]" value="a" / >
<input type="checkbox" name="modifyChk[]" value="1" /  >
<input type="checkbox" name="modifyChk[]" value="2" / >

로값을전달받아

php 부분에

        for($i=0; $i<count($_POST['modifyChk']); $i++){
$position = $_POST['modifyChk'];
echo $position[i];
}

값을받아서

if(postion[i] ==0){ 

출력

}

이런식으로 구현하려고하는데..되질않습니다전문가분의 도움이필요합니다.

|

답변 3개

채택된 답변
+20 포인트

무얼 그리 여러번 나누어서 하나요

아래처럼 하세요

for($i=0; $i<count($_POST['modifyChk']); $i++){
echo $_POST['modifyChk'][$i];
}

안되는 이유

for($i=0; $i<count($_POST['modifyChk']); $i++){
$position = $_POST['modifyChk']; <---이렇게 하는게 아닙니다. 넘어온 전체 체크값이 들어갑니다. 아래처럼 합니다

$position = $_POST['modifyChk'][$i];

echo $position;
echo $position[i];<---이건 필요 없고 또한 인수를 잘못 넣었습니다
}

2018-08-13 (월) 11:46:28

일단 몇가지 알려 드리겠습니다 modifyChk값을 for 문 안에서 받아 오는 부분이 문제가 되구요 체크박스 값이다 보니 전달 받지 않을 수도 있습니다. 그래서 값이 왔는지 조건 문도 필요 할 것 같습니다.

Copy
if(isset($_POST['modifyChk'])) {

    $position = $_POST['modifyChk'];

   for ($i = 0; $i < count($position); $i++) {

   if($position[$i] == 1){

   echo $position[$i];

    }

  }

}

이런 식으로 수정 하시면 값이 왔는지 체크 한후 해당 배열에값이 0인지 비교 할 수 있을것 같습니다.

2018-08-13 (월) 11:45:17
Copy
$position  = new array(); 추가

$position = $_POST['modifyChk']; 이부분을 

array_push($position, $_POST['modifyChk'][$i]);

이렇게 수정하시면 될것 같습니다.

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