如何在oracle apex中的页面之间传递登录凭据?

时间:2015-10-09 05:38:14

标签: oracle-apex

我正在使用oracle apex创建一个银行应用程序。一旦用户使用第2页中的客户ID登录,他的帐户详细信息表应显示在下一页中。我试过了 从acc_details中选择acc_no,bal,其中cust_id =:P2_USERNAME

但我得到'没有找到数据'。

这是正确的方法吗?我也尝试过使用分支机构。那也行不通。

3 个答案:

答案 0 :(得分:0)

在您的第一页上,在您的登录按钮的“行为”(APEX 5)/“单击按钮时的操作”(APEX 4)属性下,将“操作”设置为“重定向到此应用程序中的页面”。然后设置目标页码。在此之下,您将看到“设置项目”部分。通过将“名称”(APEX 5)/“设置这些项目”(APEX 4)设置为:P2_USERNAME然后将“值”(APEX 5)/“带有这些值”(APEX 4)设置为:P1_USERNAME来填充该部分。摆脱之前创建的“分支”或至少暂时禁用它们。

答案 1 :(得分:0)

如果您的用户登录名和用户ID相同(如电子邮件地址) 你可以用

apex_authentication.get_login_username_cookie 

获取每页的用户名/用户ID

或者您可以在共享组件中创建应用程序项,并将用户ID分配给此项目

:MY_APP_ITEM := 'Hello'; 
登录后

并从所有页面调用

答案 2 :(得分:0)

您是否尝试过使用:APP_USER?如果这不起作用,您可以尝试创建一个Application项作为cust_id的值容器。只需转到共享组件>>然后,应用项目创建一个项目。这样,您可以重用应用程序项上的值,直到会话过期或清除其值。

假设您已创建名为“G_CUST_ID”的应用程序项,您希望将cust_id的值存储到G_CUST_ID。在登录页面上创建PL / SQL进程并编写以下代码:

apex_util.set_session_state('G_CUST_ID',:P2_USERNAME);

G_CUST_ID上设置的值将在会话到期时自动重置。不要忘记在注销时手动重置值。

apex_util.set_session_state('G_CUST_ID',NULL);