ابتدا باید شما با کاربر SYS وارد شوید و دسترسی چند Package و Table را به کاربر استفاده کننده بدهید
:کد
GRANT EXECUTE ON APEX_040200.WWV_FLOW_PLATFORM to public;
GRANT EXECUTE ON APEX_040200.wwv_flow_image_generator to public;
GRANT SELECT ON APEX_040200.wwv_flow_request_verifications TO PUBLIC;
GRANT EXECUTE ON APEX_UTIL TO PUBLIC;
سپس شما در صفحه مورد نظر یک PLSQL Region بسازید با این کد
:کد
sys.htp.p(‘<p>’ || wwv_flow_lang.system_message(p_name=>’SERVICE_SIGNUP.ACCEPT’)||'</p>’);
sys.htp.p(‘<table class=”htmldbStandard3″ cellspacing=”0″ cellpadding=”0″ border=”0″ summary=””>’);
sys.htp.p(‘<tr>’);
sys.htp.p(‘<td class=”htmldbFDB”>
<img src=”APEX_040200.wwv_flow_image_generator.get_image?p_position=1&p_sessionid=’|| :APP_SESSION ||'” height=”60″, width=”40″/>
<img src=”APEX_040200.wwv_flow_image_generator.get_image?p_position=2&p_sessionid=’|| :APP_SESSION ||'” height=”60″, width=”40″/>
<img src=”APEX_040200.wwv_flow_image_generator.get_image?p_position=3&p_sessionid=’|| :APP_SESSION ||'” height=”60″, width=”40″/>
<img src=”APEX_040200.wwv_flow_image_generator.get_image?p_position=4&p_sessionid=’|| :APP_SESSION ||'” height=”60″, width=”40″/>
<img src=”APEX_040200.wwv_flow_image_generator.get_image?p_position=5&p_sessionid=’|| :APP_SESSION ||'” height=”60″, width=”40″/>
</td>’);
sys.htp.p(‘</tr>’);
sys.htp.p(‘</table>’);
sys.htp.p(‘<a href=”f?p=&APP_ID.:&APP_PAGE_ID.:’||:APP_SESSION||'”>’||wwv_flow_lang.system_message(‘REGEN_VER’)||'</a>’);
در اين مرحله آيتمي از نوع Text Filed ايجاد نموده تا كد امنيتي توسط كاربر وارد شود
جهت کنترل آيتم كد امنيتي Validation Beforsubmit Function Returning Boolean با کد زیر بسازید باید توجه داشته باشید در این کد نام آیتم مورد نظر خود را بگذارید
:کد
begin
for c1 in (
select * from APEX_040200.wwv_flow_request_verifications
where session_id = :APP_SESSION
) loop
if c1.verification_string = :P51_VERIFICATION_CODE then
; return true;
else
— Reset incorrectly entered verification code in session state
— since this value is not very useful (the user will see a new
— code).
apex_util.set_session_state(
p_name => ‘P51_VERIFICATION_CODE’,
p_value => ”
);
return false;
end if;
end loop;
return false;
end;