password_lost.skin.php 질문 입니다.

password_lost.skin.php 질문 입니다.

QA

password_lost.skin.php 질문 입니다.

답변 1

본문


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
 
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
 
if($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipin'] || $config['cf_cert_hp'])) { ?>
    <script src="<?php echo G5_JS_URL ?>/certify.js?v=<?php echo G5_JS_VER; ?>"></script>    
<?php } ?>
 
<!-- 회원정보 찾기 시작 { -->
<div id="find_info" class="new_win<?php if($config['cf_cert_use'] != 0 && $config['cf_cert_find'] != 0) { ?> cert<?php } ?>">
    <div class="new_win_con">
        <form name="fpasswordlost" action="<?php echo $action_url ?>" onsubmit="return fpasswordlost_submit(this);" method="post" autocomplete="off">
        <input type="hidden" name="cert_no" value="">
        <h3>이메일로 찾기</h3>
        <fieldset id="info_fs">
            <p>
                회원가입 시 등록하신 이메일 주소를 입력해 주세요.<br>
                해당 이메일로 아이디와 비밀번호 정보를 보내드립니다.
            </p>
            <label for="mb_email" class="sound_only">E-mail 주소<strong class="sound_only">필수</strong></label>
            <input type="text" name="mb_email" id="mb_email" required class="required frm_input full_input email" size="30" placeholder="E-mail 주소">
        </fieldset>
        <?php echo captcha_html();  ?>
 
        <div class="win_btn">
            <button type="submit" class="btn_submit">인증메일 보내기</button>
        </div>
        </form>
    </div>
    <?php if($config['cf_cert_use'] != 0 && $config['cf_cert_find'] != 0) { ?>
    <div class="new_win_con find_btn">
        <h3>본인인증으로 찾기</h3>
        <div class="cert_btn">
        <?php if(!empty($config['cf_cert_simple'])) { ?>
            <button type="button" id="win_sa_kakao_cert" class="btn_submit win_sa_cert" data-type="">간편인증</button>
        <?php } if(!empty($config['cf_cert_hp']) || !empty($config['cf_cert_ipin'])) { ?>
            <?php if(!empty($config['cf_cert_hp'])) { ?>
            <button type="button" id="win_hp_cert" class="btn_submit">휴대폰 본인확인</button>
            <?php } if(!empty($config['cf_cert_ipin'])) { ?>
            <button type="button" id="win_ipin_cert" class="btn_submit">아이핀 본인확인</button>
            <?php } ?>
        <?php } ?>
        </div>
    </div>
    <?php } ?>
</div>

스크립트는 생략했습니다.

여기서 질문 입니다.
이메일 인증함수를 사용 안하고, xml 로 POST 요청후 Response 된 이메일과 사용자가 입력한 이메일 값이 같을 경우만 이메일주소로 비밀번호를 변경할 수 있는 이메일을 보내게 하려합니다.
request 는 대략 요런 내용 인데,

<?php
$roomNo = $_POST['room_no'];
$userName = $_POST['user_name'];
$requestData = '<?xml version="1.0"?>
                <REQUEST003>
                <ROOM_NO>' . $roomNo . '</ROOM_NO>
                <USER_NAME>' . $userName . '</USER_NAME>
                </REQUEST003>';
$url = 'http://jdream.winsult.co.kr/xml/request.html';
$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $requestData,
    CURLOPT_HTTPHEADER => ['Content-Type: text/xml; charset=utf-8'],
]);
$result = curl_exec($ch);
    curl_close($ch);
?>

어떻게 해야 할지 감도 못잡고 있습니다. 조언을 기다 립니다.

 

이 질문에 댓글 쓰기 :

답변 1

password_lost.skin.php 파일은

패스워드 찾기 스킨파일이고

이후 확인을 클릭시 뒷 페이지에서 이메일 인증을 요청합니다.

해당 뒷 페이지에서 이메일 인증부분을 삭제하고

해당 url에 post로 xml데이터를 전달 후,

리턴을 받아, 그 리턴값으로 참, 거짓 유무를 결정해서

패스워드 변경 메일을 발송해주면 되겠습니다.

그누위즈 님.!
답변 주셔서 감사합니다.^^
프로세스는 이해가 갑니다. 그런데,
'뒷 페이지' 라면 어떤 페이지인지요?? 혹시 password_reset.skin.php 인가요? 아닌것 같은데요...
어떤것이죠?  fpasswordlost_submit 함수로 보내는건지요?

패스워드 찾기를 하게 되면 /bbs/password_lost.php 로 가서 이메일을 입력하죠..
그러면 form action 은 /bbs/password_lost2.php로 갑니다.
password_lost2.php 에 소스를 보시면 get_email_address함수로 메일을 보내게 됩니다.
여기 함수를 주석 처리 하시고 그에 관련된 영역까지 주석 처리 하신 후 만드신 소스를 넣으시면 될겁니다.

아마 그누위즈니께서 이 말을 하신것 같습니다.

그누위즈 님 , toqurk 님 고맙습니다.^^

저는 password_lost.skin.php 에서 돌아가는건줄 알고 아무리 봐도 메일 인증 절차가 안보이는데 했습니다. 제가 아직 한 참 배우는 중이라...ㅎㅎ
이제 조금 감이 왔는데 아직도 어떻게 해야 하는지는 더 시간이 걸릴듯 하네요.

진심으로 답변해 주셔서 두 분 모두 감사 드립니다.^^

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 174
© SIRSOFT
현재 페이지 제일 처음으로