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

password_lost.skin.php 질문 입니다. 채택완료

꽁치입니다 2년 전 조회 2,039

</p>

<p><?php</p>

<p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>

<p> </p>

<p>// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨</p>

<p>add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);</p>

<p> </p>

<p>if($config['cf_cert_use'] && ($config['cf_cert_simple'] || $config['cf_cert_ipin'] || $config['cf_cert_hp'])) { ?></p>

<p>    <script src="<?php echo G5_JS_URL ?>/certify.js?v=<?php echo G5_JS_VER; ?>"></script>    </p>

<p><?php } ?></p>

<p> </p>

<p><!-- 회원정보 찾기 시작 { --></p>

<p><div id="find_info" class="new_win<?php if($config['cf_cert_use'] != 0 && $config['cf_cert_find'] != 0) { ?> cert<?php } ?>"></p>

<p>    <div class="new_win_con"></p>

<p>        <form name="fpasswordlost" action="<?php echo $action_url ?>" onsubmit="return fpasswordlost_submit(this);" method="post" autocomplete="off"></p>

<p>        <input type="hidden" name="cert_no" value=""></p>

<p>        <h3>이메일로 찾기</h3></p>

<p>        <fieldset id="info_fs"></p>

<p>            <p></p>

<p>                회원가입 시 등록하신 이메일 주소를 입력해 주세요.
</p>

<p>                해당 이메일로 아이디와 비밀번호 정보를 보내드립니다.</p>

<p>            </p></p>

<p>            <label for="mb_email" class="sound_only">E-mail 주소<strong class="sound_only">필수</strong></label></p>

<p>            <input type="text" name="mb_email" id="mb_email" required class="required frm_input full_input email" size="30" placeholder="E-mail 주소"></p>

<p>        </fieldset></p>

<p>        <?php echo captcha_html();  ?></p>

<p> </p>

<p>        <div class="win_btn"></p>

<p>            <button type="submit" class="btn_submit">인증메일 보내기</button></p>

<p>        </div></p>

<p>        </form></p>

<p>    </div></p>

<p>    <?php if($config['cf_cert_use'] != 0 && $config['cf_cert_find'] != 0) { ?></p>

<p>    <div class="new_win_con find_btn"></p>

<p>        <h3>본인인증으로 찾기</h3></p>

<p>        <div class="cert_btn"></p>

<p>        <?php if(!empty($config['cf_cert_simple'])) { ?></p>

<p>            <button type="button" id="win_sa_kakao_cert" class="btn_submit win_sa_cert" data-type="">간편인증</button></p>

<p>        <?php } if(!empty($config['cf_cert_hp']) || !empty($config['cf_cert_ipin'])) { ?></p>

<p>            <?php if(!empty($config['cf_cert_hp'])) { ?></p>

<p>            <button type="button" id="win_hp_cert" class="btn_submit">휴대폰 본인확인</button></p>

<p>            <?php } if(!empty($config['cf_cert_ipin'])) { ?></p>

<p>            <button type="button" id="win_ipin_cert" class="btn_submit">아이핀 본인확인</button></p>

<p>            <?php } ?></p>

<p>        <?php } ?></p>

<p>        </div></p>

<p>    </div></p>

<p>    <?php } ?></p>

<p></div>

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

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

<p><?php</p>

<p>$roomNo = $_POST['room_no'];</p>

<p>$userName = $_POST['user_name'];</p>

<p>$requestData = '<?xml version="1.0"?></p>

<p>                <REQUEST003></p>

<p>                <ROOM_NO>' . $roomNo . '</ROOM_NO></p>

<p>                <USER_NAME>' . $userName . '</USER_NAME></p>

<p>                </REQUEST003>';</p>

<p>$url = '<a href="http://jdream.winsult.co.kr/xml/request.html';" target="_blank" rel="noopener noreferrer">http://jdream.winsult.co.kr/xml/request.html';</a></p>

<p>$ch = curl_init($url);</p>

<p>curl_setopt_array($ch, [</p>

<p>    CURLOPT_RETURNTRANSFER => true,</p>

<p>    CURLOPT_POST => true,</p>

<p>    CURLOPT_POSTFIELDS => $requestData,</p>

<p>    CURLOPT_HTTPHEADER => ['Content-Type: text/xml; charset=utf-8'],</p>

<p>]);</p>

<p>$result = curl_exec($ch);</p>

<p>    curl_close($ch);</p>

<p>?></p>

<p>

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

 

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

답변 1개

채택된 답변
+20 포인트
그누위즈

password_lost.skin.php 파일은

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

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

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

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

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

꽁치입니다
2년 전
그누위즈 님.!
답변 주셔서 감사합니다.^^
프로세스는 이해가 갑니다. 그런데,
'뒷 페이지' 라면 어떤 페이지인지요?? 혹시 password_reset.skin.php 인가요? 아닌것 같은데요...
어떤것이죠? fpasswordlost_submit 함수로 보내는건지요?
t
toqurk
2년 전
패스워드 찾기를 하게 되면 /bbs/password_lost.php 로 가서 이메일을 입력하죠..
그러면 form action 은 /bbs/password_lost2.php로 갑니다.
password_lost2.php 에 소스를 보시면 get_email_address함수로 메일을 보내게 됩니다.
여기 함수를 주석 처리 하시고 그에 관련된 영역까지 주석 처리 하신 후 만드신 소스를 넣으시면 될겁니다.

아마 그누위즈니께서 이 말을 하신것 같습니다.
꽁치입니다
2년 전
그누위즈 님 , toqurk 님 고맙습니다.^^

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

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

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

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

로그인