폼메일 질문드립니다. 채택완료
if ($mail) { check_token();
$from_name = "예약상담";
$from_email = "mail@mail";
$email = explode(",", $mail);
$sub = "이름 : $name \n 나이 : $wr_1 \n 성별 : $wr_3 \n 연락처 : $phone-$phone2-$phone3 \n 직업 : $wr_4 \n 주거지역 : $city \n 상담종류 :$wr_2 \n 상담내용 : $wr_content";
for ($i=0; $i echo << $token = get_token(); JSP
JSP2
JSP3
JSP4
JSP5
위 소스는 상담신청 폼인데요. 신청하면 메일로 접수가 됩니다. 그런데 wr_2 부분을 다중선택이 되게 해야하는데요. 현재는 여러개를 체크해도 마지막 체크한 내용만 메일로 옵니다. wr_2에 체크한 값이 모두 메일로 오게 하려면 어떻게 해야하는지 회원님들 도움을 부탁드립니다. 꾸벅~
답변 2개
php에서는 name이 같을 경우 제일 마지막 것만 값이 넘어갑니다(asp는 다름).
이름을 배열로 해서 넘기거나 아니면 아예 이름을 다르게 해서 넘기거나 둘 중 하나 선택하셔야 합니다.
name="wr_2[]" 이렇게 전부 바꾸셔서 실제 받는 페이지에서
$wr2 = implode(", ", $_POST['wr_2']);
이렇게 해서 받으시는 게 제일 편합니다.
답변에 대한 댓글 3개
$wr2 = implode(", ", $_POST['wr_2']);
echo $wr2;
이렇게 하면 체크한 값들이 ,(콤마)로 연결되어서 문자열이 됩니다.
implode() 함수 자체가 배열을 문자열로 바꾸는 역할을 합니다.
Array라고 나온 건 implode 함수를 안 쓰셨거나 $wr2 변수를 안 찍고 $wr_2를 찍었기 때문이 아닐까 싶네요.
$wr2로 하니까 이제 됩니다.!!
너무 감사합니다.
며칠 고생하던건라 너무 감사합니다.
편한밤 되세요.^^
댓글을 작성하려면 로그인이 필요합니다.
</p><p><input type="checkbox" name="wr_2[]" value="jsp" onclick="javascript:checkBoxClick()">JSP
<input type="checkbox" name="wr_2[]" value="js2p" onclick="javascript:checkBoxClick()">JSP2
<input type="checkbox" name="wr_2[]" value="jsp3" onclick="javascript:checkBoxClick()">JSP3
<input type="checkbox" name="wr_2[]" value="jsp4" onclick="javascript:checkBoxClick()">JSP4
<input type="checkbox" name="wr_2[]" value="jsp5" onclick="javascript:checkBoxClick()">JSP5
</p><p>
</p><p> </p><p>$from_name = "예약상담";
$from_email = <a href="mailto:mail@mail">mail@mail</a>;</p><p>$email = explode(",", $mail);</p><p>check_token();</p><p> </p><p>for ($i=0; $i<count($wr_2); $i++)
{</p><p> // 실제 값을 넘김
$var = $_POST['wr_2'][$i];</p><p> $sub = "이름 : $name \n 나이 : $wr_1 \n 성별 : $wr_3 \n 연락처 : $phone-$phone2-$phone3 \n 직업 : $wr_4 \n 주거지역 : $city \n 상담종류 :$var \n 상담내용 : $wr_content";
mailer($from_name, $from_email, trim($email[$i]), "예약상담", $sub);</p><p>}</p><p> echo <<<HEREDOC
<SCRIPT type="text/javascript">
alert("예약상담이 접수 되었습니다.");
</SCRIPT>
HEREDOC; </p><p> </p><p>
요렇게 하면 잘될껍니다.
약간의 설명을 하자면 php에선 wr_2값이 []사용을 하게되면 배열로 넘어갑니다.
참고로 asp에선 구분자를 포함해서 넘어갑니다. php에선 배열로 넘어가기때문에..
요런식으로 해서 구분하여 for 문을 사용하셔서 돌리시면 됩니다.
이부분은 그누보드에서도 보시면 비슷한 예가 잘 나와있습니다.
선택한 wr_2값이 배열로 넘아가기땜문에 선택한 크기 만큼 for문을 사용하여 배열을 변수로 담아서
원하는 곳에 assign을 하시면 됩니다.
답변에 대한 댓글 1개
오랜만에 뵙습니다.^^
위에 분 답변으로 해결했습니다.
귀한 시간 내주셔서 감사드립니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
알려주신대로 처리하고 메일로 받아보면
상담종류 : Array 로 나옵니다.