الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

خطأ في كود تم تطويره من المنتدى

Featured Replies

بتاريخ:

السلام عليكم ...

لقد قمت بإستخدام كود (PROCEDURE) موجود في المنتدى وهو خاص بشاشة ال LOGIN

من هنا

http://www.araboug.org/ib/index.php?showtopic=29597

وقمت بالتطوير عليه حيث كان ينقصه أهم نقطه في شاشة الدخول إلا وهي مقارنة الباسوورد واليوزر والتحقق منها من DATABASE !! غريب

اليكم الكود حيث فيه خطأ بسيط ناتج عن ال IF حيث ينقص END IF أخرى لا أعلم أين أضعها أرجو مساعدتكم فيه ...
المكتوب باللون الأحمر هو ما قمت بإضافته
------------------------------------------------------------------------------------


PROCEDURE P_CHECKUSER IS


VN_COUNT NUMBER(10) := 0 ;


VV_USRSTS NUMBER(1) := '' ;


VV_USRTYPE NUMBER(1) := '' ;


VV_USERID USERS_ACCOUNTS.USER_ID%TYPE;


VV_PASSWORD USERS_ACCOUNTS.USER_PASSWORD%TYPE;



BEGIN



BEGIN SELECT COUNT(1)


INTO VN_COUNT FROM USERS_ACCOUNTS;


EXCEPTION WHEN NO_DATA_FOUND THEN


VN_COUNT := 0;


END;



IF VN_COUNT = 0 THEN


:PARAMETER.P_TRIALS := NVL(:PARAMETER.P_TRIALS,0) + 1 ;


IF


:PARAMETER.P_TRIALS = 3 THEN


EXIT_FORM(NO_COMMIT,NO_VALIDATE);




ELSE


GO_BLOCK('blklogin');


CLEAR_BLOCK(NO_COMMIT);


GO_BLOCK('blklogin');



END IF;


ELSE


BEGIN SELECT USER_STATUS , USER_TYPE , USER_ID , USER_PASSWORD


INTO VV_USRSTS , VV_USRTYPE , VV_USERID , VV_PASSWORD


FROM USERS_ACCOUNTS WHERE UPPER(USER_ID) = UPPER(:BLKLOGIN.USERID) AND UPPER(USER_PASSWORD) = UPPER(:BLKLOGIN.PASSWORD);


IF


UPPER(USER_ID) = UPPER(:BLKLOGIN.USERID) AND UPPER(USER_PASSWORD) = UPPER(:BLKLOGIN.PASSWORD)THEN


:GLOBAL.P_USER_ID := :BLKLOGIN.USERID;


new_FORM('SEARCH_V21');


END IF;




EXCEPTION WHEN NO_DATA_FOUND THEN


NULL;


END;



IF


VV_USRSTS <> '0' THEN


MESSAGE('user not active');


MESSAGE('user not active');


EXIT_FORM(NO_VALIDATE);


END IF;


END;



----------------------------------------------------------------------------------------------------------------------------------------------

تم تعديل بواسطة ali_tayeh

بتاريخ:

السلام عليكم
اخي الفاضل الكود موجود بالفعل
IF UPPER(USER_ID) = UPPER(:BLKLOGIN.USERID) AND UPPER(USER_PASSWORD) = UPPER(:BLKLOGIN.PASSWORD)THEN
لكن تقريبا نسي الأخ ووضع اسم الحقل بدل اسم المتغير !!!!!
وأسماء المتغيرات كالتالي
VV_USERID , VV_PASSWORD
من وجهة نظري يا أخي هتمشي في التشييك على الباسورد واسم الدخول كالتالي
1 - استخدام Cursor أفضل بدلالة كلمة السر واسم الدخول وفي جملة الاستعلام هتجيب الأي دي بتاع المستخدم كمان لو في بيانات ظهرت بالتشييك طبعا باستخادم الCursor يبقى كلمة السر واسم المستخدم صحيحين ولو لم يتم إستخراج بيانات يبقى هم خطأ

Cursor GetUserData IS
Select UserID, UserName
From UsersTable
Where UserPass = :UserPass
And UserName = :UserName

Open GetUserData
Fetch GetUserData Into UserId,UserName
Close GetUserData ;
وتعمل جميع التشيكات بتاعتك وان شاء الله تكون طرقة مختصره وتفيدك

-------------------------------
Ahmed Saleh
Senior Oracle Developer At KSA
[email protected]

  • بعد 3 شهور...
بتاريخ:

طيب لسة ما تعدل برضو فية مشكلة

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.