누구에게나 그럴싸한 계획은 있다, 쳐맞기 전까지는
본문
쪽지를 보내기 위해 신고기능을 보고
<input type="radio" name="sg_reason" value="a111" id="r0" /><label for="r0">희선에게</label>
<input type="radio" name="sg_reason" value="a222" id="r1" /><label for="r1">미란에게</label>
이렇게 하니 선택한 애에게 잘갑니다.
$recv = array($sg_reason); //쪽지 전송 아이디
$me_memo = $sg_memo." <br />";
그런데 선택해서 보내는게 아니고
둘에게 동시에 보낼때는 어떻게 해야 할까요?
<input type="radio" name="sg_reason" value="a111, a222" id="r3" /><label for="r3">희선+미란에게</label> 이렇게 하니 한개도 안가네요..
답변 1
안녕하세요?
라디오버튼은 기본적으로 하나의 항목만을 선택할 수 있어요.
복수의 항목을 동시에 선택 가능하게 하려면 체크박스를 이용하시는 방법이 간편할 것 같네요 ^^
그리고 말씀하신 문제는 라디오버튼의 value 속성이 문자열이기 때문에 발생하네요.
즉 세번째 항목에서 value로 넘겨지는 값인 "a111, a222"를 하나의 문자열로 인식합니다.
<meta charset="utf-8" />
<form method='post' action='submit.php'>
<input type="radio" name="sg_reason" value="a111" id="r0" /><label for="r0">희선에게</label>
<input type="radio" name="sg_reason" value="a222" id="r1" /><label for="r1">미란에게</label>
<input type="radio" name="sg_reason" value="a111, a222" id="r3" /><label for="r3">희선+미란에게</label>
<input type='submit' value='제출' />
</form>
위 코드에서 세번째 요소를 선택한 후에
submit.php에서 $_POST['sg_reason']의 값을 var_dump() 함수로 찍어보면
다음과 같이 문자열임을 확인할 수 있어요.
string(10) "a111, a222"
따라서 문자열을 ', '을 구분문자로 하여 다시 배열로 분리해야 합니다.
$members = explode(', ', $_POST['sg_reason']);
var_dump() 함수를 이용하여 $members 변수의 값을 확인하면
원하시는 두 개의 value가 배열로 들어왔음을 확인할 수 있어요.
array(2) { [0]=> string(4) "a111" [1]=> string(4) "a222" }
따라서 $members 변수를 foreach() 문으로 돌리거나
직접 배열을 이용하는 방법으로 쪽지를 보내시면 됩니다 ^^
그럼 즐거운 주말 되세요!
!-->!-->