폼메일에 이용약관 동의 체크박스 넣기.

폼메일에 이용약관 동의 체크박스 넣기.

QA

폼메일에 이용약관 동의 체크박스 넣기.

본문

폼메일 작동은 잘 되는데요.

 

이용약관 체크박스를 추가하고 싶어서요.

아래 코드 5번째줄 처럼 name, message 값이 비어있는면 경고창이 뜨는것 처럼

저기에 이용약관 체크박스 내용을 추가 할수 있나요?

 

php무식이라

체크박스 만들어서 네임달고 5번째줄하고 19번째줄 네임을 추가 했는데. 

오류가 뜨네요 ,, 조언좀 부탁드립니다. ;;

 


<?php
header("Content-Type: text/html; charset=UTF-8");
// 빈 필드가 있는지 확인하는 구문
if(empty($_POST['name'])          || // post로 넘어온 name값이 비었는지 확인
  empty($_POST['message']))    // message값이 비었는지 확인
   {
    echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> <script>
         window.alert('닉네임 혹은 메시지을 입력해 주세요. ');
         history.go(-1);
         </script>";
    return false;
   }
// Cross-Site Scripting (XSS)을 방지하는 시큐어코딩
// strip_tags() -> 문자열에서 html과 php태그를 제거한다
// htmlspecialchars() -> 특수 문자를 HTML 엔터티로 변환
// 악의적인 특수문자 삽입에 대비하기 위함
$name = strip_tags(htmlspecialchars($_POST['name']));
$message = strip_tags(htmlspecialchars($_POST['message']));

// 이메일을 생성하고 메일을 전송하는 부분 아래 발신자 수신자 부분을 기입해 주세요
$to = '이메일'; // 받는 측의 이메일 주소를 기입하는 부분
$from = '이름';
$email_subject = "$name"; // 메일 제목에 해당하는 부분
$email_body = " 전달 메시지 \n\n"."\n\n닉네임: $name\n\n메시지: $message";
$headers = "From : $from"; // 답장 주소
mail($to,'=?UTF-8?B?'.base64_encode($email_subject).'?=',$email_body, $headers);
 if (!$name)
    echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> <script>
         window.alert('메일 발송이 실패하였습니다. ');
         history.go(-1);
         </script>";
  else
    echo "         <script>
         window.alert('메일이 정상적으로 발송되었습니다.');
         history.go(-1);
         </script>";
?>

 

 

<form action="contact.php" method="post">
    <div class="form-group">
      <label for="name">닉네임</label>
      <input type="name" class="form-control input-lg" id="name" name="name" placeholder="닉네임 입력">
    </div>
    <div class="form-group">
      <label for="message">메시지</label>
      <input type="message" class="form-control input-lg" id="message" name="message" placeholder="메시지">
    </div>
    <input type="checkbox" name="" id="" value="" /> 약관동의
    <button type="submit" class="btn btn-primary btn-block btn-lg">보내기</button>
</form>

 

이 질문에 댓글 쓰기 :

답변 1

올려주신 소스에는 checkbox 에 name 도 비어있어서 확인이 안되네요..

약관동의는 대부분 php 보다는 그 전에 form 이 있는 파일에서 submit  전에 스크립트로 체크를 합니다.

skin\member\basic\register.skin.php 파일에 소스를 참조하세요..

 

답변을 작성하시기 전에 로그인 해주세요.
전체 59,282
QA 내용 검색

회원로그인

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