여러 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] ");
을하면 전부다 출력이 되겠죠..
너무 풀어서 길게 답변이 되었네요;
도움되시길
으로 기술하며 받는쪽에서는 post 방식이면 post방식으로
넘겨 받은후
for문을 이용해 배열값을 추출하여 사용합니다
$output=$_POST["output"];
for($i=0;$i<count($output);$i++) {
echo $output[$i];
echo "<BR>";
}
이런식으로 사용하면 됩니다.