여러 checkbox 태그 값을 넘기는 문제

여러 checkbox 태그 값을 넘기는 문제

QA

여러 checkbox 태그 값을 넘기는 문제

본문

질문 1.

답변 부탁드려요 ~
막상 넘어온 값은 마지막 체크값만 넘어옵니다.
무슨 문제인가요?


예)

<input type=checkbox name=output value="1">
<input type=checkbox name=output value="2">
<input type=checkbox name=output value="3">
<input type=checkbox name=output value="4">
<input type=checkbox name=output value="5">
<input type=checkbox name=output value="6">
<input type=checkbox name=output value="7">


전부를 체크해서

<?

echo "$output";

?>

이렇게 값을 받으면 마지막 값만 출력합니다.

 

----------------------------------------------------------------------

질문2.

여러 개의 input 태그로 넘긴 값을 php에서 읽어들이는데
값이 제대로 읽혀지지가 않습니다.
아무것도 없이 단지 값만을 찍는 php파일에서는 값을 출력하는데
이것을 받아 처리해야 하는 php에서는 값이 출력되지 않습니다.

처리하는 php의 형태는 다음과 같습니다.

 
<?
 
파일참조 부분

?>

<html>
<head><title></title></head>
<body>

<?

처리함수군이 있습니다.


그리고 switch문으로 함수군을 처리합니다.

switch($state)

case "1":

함수호출

....

default:

함수호출

break;


?>

</body>
</html>


위와 같은데 무엇이 문제인지요?

답변 부탁드려요 ~​ 

이 질문에 댓글 쓰기 :

답변 2

간단합니다.

1: <input type=checkbox name=output value='1'>1
2: <input type=checkbox name=output value='2'>2
3: <input type=checkbox name=output value='3'>3
4: <input type=checkbox name=output value='4'>4
5: <input type=checkbox name=output value='5'>5
6: <input type=checkbox name=output value='6'>6
7: <input type=checkbox name=output value='7'>7

이것은 다음과 같이 표현할수 있습니다.

$output = 1;
$output = 2;
$output = 3;
$output = 4;
$output = 5;
$output = 6;
$output = 7;

즉 $output 의 변수값이 계속 변경되는것이죠.그러니 $output 의 출력값이
7이 나오는것은 당연합니다. 이럴땐 배열을 사용하면 됩니다.
아래와 같이 해보세요

<input type=checkbox name=output[] value='1'>1
<input type=checkbox name=output[] value='2'>2
<input type=checkbox name=output[] value='3'>3
<input type=checkbox name=output[] value='4'>4
<input type=checkbox name=output[] value='5'>5
<input type=checkbox name=output[] value='6'>6
<input type=checkbox name=output[] value='7'>7

이것은 다음과 같습니다.

$output[] = 1; // $output[0] =1;
$output[] = 2; // $output[1] =2;
$output[] = 3; // $output[2] =3;
$output[] = 4; // $output[3] =4;
$output[] = 5; // $output[4] =5;
$output[] = 6; // $output[5] =6;
$output[] = 7; // $output[6] =7;

그러면 출력을 할경우는


echo(" $output[0] ");
echo(" $output[1] ");
echo(" $output[2] ");
echo(" $output[3] ");
echo(" $output[4] ");
echo(" $output[5] ");
echo(" $output[6] ");
을하면 전부다 출력이 되겠죠..

 

너무 풀어서 길게 답변이 되었네요;

 

도움되시길

보통은 input type="checkbox" name="output[]"
으로 기술하며 받는쪽에서는 post 방식이면 post방식으로
넘겨 받은후

for문을 이용해 배열값을 추출하여 사용합니다

$output=$_POST["output"];

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

echo $output[$i];
echo "<BR>";
}

이런식으로 사용하면 됩니다.
답변을 작성하시기 전에 로그인 해주세요.
전체 123,672 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT