בולנט - דברים מיוחדים...     פרוטו - בניית אתרים

Israeli ASP Organization

ארגון ה-ASP הישראלי

מאמרים/דוגמאות קוד
קישורים
ספרות
חיפוש כללי:

חפש!
כלליHTMLASPASP.NETSQLמסדי נתוניםJavaScriptXML * XSLDHTML * CSSעיצוב וגרפיקהשרתיםComponentsפרסום ושיווקקידום אתריםקופירייטינגPHP
פרסומת
דף ראשי מדורים דרושים הרשמה למועדון אודותינו צור קשר
מיקום: מאמרים ודוגמאות קוד > ASP > טפסים

הצגת הודעות שגיאה

אחרי שראיתי בפורום כמה שאלות על איך ולמה מעבירים הודעות שגיאה תמיד כשבונים מערכת שדורשת הכנסה של נתונים לטופס יהיה לפחות מישהו אחד,לא בהכרח בזדון, שלא יכניס נתונים, שיכניס נתונים שגויים כמו שם וססמא לא נכונים וכד.

על חלק מהמקרים אפשר להתמודד בעזרת ואלידציה של JavaScript בדף הטופס עצמו,עוד אצל על הלקוח.

זאת היא שיטה למי שמחפש איך להודיע למשתמש הודעות שגיאה על מנת שיתקן את הטעויות.

קודם כל שמים בעמוד של הטופס את הפונקציה הבאה :

<script language="JavaScript"> <!-- function Popup(msg) { alert(msg); } //--> </script> שדואגת לקפיצה של הודעת ALERT עם ההודעה הנדרשת.

לאחר מכן את קוד ה- ASP :

<% Dim ReErr,PopErr ReErr = Request.QueryString("MyErr") ReErr = cStr(ReErr) If ReErr <> "" then PopErr = "onLoad=Popup("""& ReErr &""")" Else PopErr = "" End If %> כל זה בא לפני תג ה- BODY במטרה שבתג עצמו נגיד לפונקציה לעלות עם העלאת העמוד.

זה בא בקוד ה- BODY :

<body bgcolor="#FFFFFF" text="#000000" <%=PopErr%>> ככה אם PopErr ריק לא יקרה כלום , ואם קיימת שגיאה , אז היא תקפוץ לנו עם הפעלת העמוד.

בעמוד הבדיקה של הנתונים מול ה- Database אנחנו רושמים:

<% Option Explicit Dim Nick,Pass,Crs,MyErr Nick = Request.form("nick") Pass = Request.form("pass") %> < !-- #include file="connect.asp" --> <% set Crs=server.createobject("adodb.recordset") Crs.activeconnection=Conn Crs.open "select * from Members where nick="& Nick &"" If Crs.EOF then No record was found nick Doesnt Exist Redirect to The Main Page with error MyErr = " לא קיים במערכת " & nick & " משתמש בשם " Response.Redirect "index.asp?MyErr="& MyErr &"" Else Check If passwords are equal If Crs.Fields("pass") = Pass then Session("AUTH")= TRUE Session("nick") = Nick Redirect to The Members Main Page Response.Redirect "Mindex.asp" Else diffrent passwords Redirect to The Main Page with error MyErr = "הססמא שהכנסת לא תואמת את הססמא ששמורה במערכת" Response.Redirect "index.asp?MyErr="& MyErr &"" End If End If %>

לאחר שמקבלים את המשתנים מתוך הטופס פותחים קישור למסד הנתונים, ובודקים , אם המשתמש לא קיים במערכת מקשרים בעזרת השמת ההודעה הבאה כהודעת השגיאה :

MyErr = " לא קיים במערכת " & nick & " משתמש בשם " ואחר כך שליחה אל הדף הראשי Response.Redirect "index.asp?MyErr="& MyErr &"" באופן דומה אנחנו גם בודקים את הססמא.
ניתן גם לאגור מספר הודעות שגיאה, ובסוף הדף לשלוח אותן.

ככה גם אנחנו יכולים להעביר מישהו שנכנס אל דף שדורש ססמא אל הדף הראשי

<% If Not(Session("AUTH")= TRUE) then User isnt Authorized Redirect to The Main Page with error MyErr = "דף זה מיועד לחברים בלבד, אם אתה חבר אז עליך להתחבר למערכת" Response.Redirect "../index.asp?MyErr="& MyErr &"" End If %> בדוגמא הזאת, הדף נמצא בתיקייה אחת למעלה ולכן אנחנו כותבים /.. על מנת לעלות תיקייה.

אפשר גם להדפיס את הודעת השגיאה לעמוד ע"י שימוש ב – RESPONSE.WRITE והורדת הקטעים שמשתמשים בפונקציה( הקריאה ב- ONLOAD, הפונקציה עצמה (Popup ), ובמקום PopErr = "onLoad=Popup("""& ReErr &""")" שמים רק PopErr = ReErr .



         

מחבר: ליאור שמשרמת קושי: 1  ||  ציון: (7.75)כל הזכויות שמורות ל-IAO ©

חנות לסטלן  |   מתכונים  |   חגי ישראל  |   פורטל משחקים  |   חנויות מחשבים ו-ציוד הקפי  |   מגזין מסטול לסטלן המצוי  |   קליפרים  |   גידול צמחים פרחים  |   ספא פינוק מושלם