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

여러 checkbox 태그 값을 넘기는 문제 채택완료

흥칫뿡뿡이네용 10년 전 조회 6,416

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

채택된 답변
+20 포인트

간단합니다.

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=&quot;checkbox&quot; name=&quot;output[]&quot;<br />
으로 기술하며 받는쪽에서는 post 방식이면 post방식으로<br />
넘겨 받은후<br />
<br />
for문을 이용해 배열값을 추출하여 사용합니다<br />
<br />
$output=$_POST[&quot;output&quot;];<br />
<br />
for($i=0;$i&lt;count($output);$i++) {<br />
<br />
echo $output[$i];<br />
echo &quot;&lt;BR&gt;&quot;;<br />
}<br />
<br />
이런식으로 사용하면 됩니다.
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

단지얍
10년 전
참고로 라디오버튼의 경우에는 단 하나만 선택이 되는것이므로 배열처리되지 않습니다.

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

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

로그인