שלח תשובה

זירת השאלות

436
צפיות
17
תשובות

תנאיי IF

,‏ 8 ביוני, 2004

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



Elseif (struser = Rs.fields("Login")) AND (strpass = Rs.fields("Password")) AND (Rs.fields("Admin") = True) then



אהה ועוד משהו: איך עושים שברגע שאחד מהתנאים לא מתמלא אז זה מציג
" לא טוב "  

תגיות:

17 תשובות

  1. ניר טייב הגיב:

    פשוט שם עוד ELSE
    בגלל שזה elseif אז אתה יכול להוסיף עוד ELSE (ה-ELSEIF זה תנאי שמתבצע אם תנאי אחר לא התבצע)

  2. אוריקס הגיב:

    התנאי נראה בסדר.
    או שהוא באמת לא מתקיים, או שיש לך בעייה בהפנייה. צרף קוד ונוכל לעזור לך.

  3. MasterMind הגיב:

    יש מספר בעיות
    כאשר אני נכנס עם שם משתמש רגיל זה עובד בסדר גמור
    כאשר אני נכנס כמנהל זה לא עובד אלא מכניס אותי לפורום
    כאשר אני נכנס כמושעה זה מכניס אותי לפורום
    כאשר אני מקיש סיסמא לא נכונה ושם משתמש נכון זה מודיע לי "סיסמא לא נכונה"
    כאשר אני מקיש סיסמא נכונה ושם משתמש שגוי מופיעה לי השגיאה

    Exception occurred.

    צירפתי קובץ TXT  כי הקוד די ארוך !

  4. MasterMind הגיב:

    אופס
    הנה שוב הקובץ רק בלי השטויות !

  5. MasterMind הגיב:

    שוב….
    טוב לא משנה  אני אביא את זה פה למרות שזה הרבה מאוד !


    If (struser = Rs.fields("Login")) AND (strpass <> Rs.fields("Password")) then
    response.write("<CENTER>!! הסיסמא איננה נכונה<BR><A href='/mem/index.html'>[חזרה]</A></CENTER>")  
    End If

    If (struser <> Rs.fields("Login")) AND (strpass = Rs.fields("Password")) then
    response.write("<CENTER>!! שם המשתמש לא נכון <BR><A href='/mem/index.html'>[חזרה]</A></CENTER>")  
    End If

    If Rs.fields("Sus") = True then
    Session("LoginOK") = False
    Session("Admin") = False
    response.write ("<CENTER>שם המשתמש מושעה  <BR> לבירור נוסף אנא פנה למנהל האתר </CENTER>")
    End If

    If (struser = Rs.fields("Login")) AND (strpass = Rs.fields("Password")) then
    Session("LoginOK") = True
    Session("Login") = Rs.fields("Login")
    Session("Admin") = Flase
    response.redirect "/Forum/nonono.asp"
    End If

    If (struser = Rs.fields("Login")) AND (strpass = Rs.fields("Password")) AND (Rs.fields("Admin") = True) then
    Session("LoginOK") = True
    Session("Login") = Rs.fields("Login")
    Session("Admin") = True
    response.redirect "/mem/Default.asp"
    End If

  6. אל תעשה כך
    תבדוק האם קיימים שם משתמש וסיסמא כאלו אם כן , תבדוק האם הוא מנהל או מושעה
    ואז תשתמש בelse שזה בעצם יהיו פרטים לא נכונים

    ואל תעשה מלא ifים תשתמש בelseif

  7. MasterMind הגיב:

    שיניתי
    ועדיין לא פועל !


    Rs.open "Select * from Users where Login='" & struser & "'", Conn, 3, 3

    if struser = Rs.EOF then
    response.write("<CENTER>שם המשתמש לא נמצא<BR><A href='/mem/index.html'> [חזרה] </A></CENTER>")  

    elseif struser <> Rs.fields("Login") AND strpass = Rs.fields("Password") then
    response.write("<CENTER>!! שם המשתמש לא נכון <BR><A href='/mem/index.html'> [חזרה] </A></CENTER>")  

    elseif struser = Rs.fields("Login") AND strpass <> Rs.fields("Password") then
    response.write ("<CENTER> !! הסיסמא לא נכונה <BR><A HERF= '/mem/index.html'> [חזרה] </A> </CENTER>")

    elseif Rs.fields("Sus") = true then
    Session("LoginOK") = False
    Session("Admin") = False
    response.write ("<CENTER>שם המשתמש מושעה  <BR> לבירור נוסף אנא פנה למנהל האתר </CENTER>")

    Elseif struser = Rs.fields("Login") AND strpass = Rs.fields("Password") then
    Session("LoginOK") = True
    Session("Login") = Rs.fields("Login")
    Session("Admin") = Flase
    response.redirect "/Forum/nonono.asp"

    Elseif (struser = Rs.fields("Login")) AND (strpass = Rs.fields("Password")) AND (Rs.fields("Admin") = True) then
    Session("LoginOK") = True
    Session("Login") = struser
    Session("Admin") = True
    response.redirect "/mem/Default.asp"

  8. לא טוב…
    תוציא נתונים שיהיו שווים גם:login שווה לשם מתשמש וגם סיסמא שווה לסיסמא שהקליד המשתמש

    תסדוק האם יש רשומות אם לא , לא קיים מתשמש
    אם כן קיים משתמש
    אם קיים משתמש תבדןק האם admin שווה לtrue ותבדוק גם האם sus שווה לtrue לכל אחד מהמקרים תן הודעה שונה לפי רצונך

  9. MasterMind הגיב:

    אהההה……
    לא הבנתי !! אחרי ה THEN  אני רושם עוד IF

  10. MasterMind הגיב:

    ניסיתי דבר אחר !
    ככה  זה נכון ??


    if struser = Rs.EOF then
    response.write ("<FONT COLOR='#FF0000'>!! שם המשתמש לא נמצא <BR><A href='/mem/index.html'>[חזרה]</A>")

    Elseif (struser = rs.fields("Login")) AND (strpass = rs.fields("Password")) then  
    Session("Admin") = false
    Session("Login") = struser
    Session("LoginOK") = true
    response.redirect "/forum/nonono.asp"

    Elseif rs.fields("Sus") = true then
    Session("Admin") = false
    Session("LoginOK") = false

    Elseif rs.fields("Admin") = true then
    Session("Admin") = true

    Elseif (struser <> rs.fields("Login")) OR (strpass <> rs.fields("Password")) then
    response.write ("<FONT COLOR='#FF0000'>!! שם המשתמש או הסיסמא אינם נכונים  <BR><A href='/mem/index.html'>[חזרה]</A>")

    כלומר מה שאני מנסה לעשות  זה להעביר את המשתמש לא משנה מה הוא (חוץ מחסום)  לדף של הפורום  ורק למנהלם  יופיע קישור קטן בצד שהוא הניהול !

  11. אבל לא הבנת כל כך…
    תראה:

    אתה שולף נתונים מהטבלה איפה שהשם משתמש שווה למה שהקלידו והסיסמא שווה למה שהקלידו

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

  12. MasterMind הגיב:

    בסדר עכשיו יש לי עוד שאלה
    שלא קשורה !!
    אם אני רוצה לעשות מערכת מסרים באתר !
    ברמת המסד  אני צריך ליצור עוד טבלה (בסיסית) שבה יהיה ID  MASS  TO
    ולעשות קשר גומלין בין TO  ל USERNAME  שב USERS

    האם אני צודק ??

  13. MasterMind הגיב:

    וואלה
    נשבע לך  לא ראיתי את זה !
    אתמול בלילה חשבתי על זה …..

  14. MasterMind הגיב:

    ככה זה נכון
    לא עשיתי בדיוק כמו במדריך ההוא  אבל זה גם טוב  לא …..
    צירפתי תמונה !

  15. MasterMind הגיב:

    אהה נזכרתי בעוד שאלה
    איך עושים את האפשרות לספור כמה הודעות יש למשתמש בפורום ??

  16. אוריקס הגיב:

    המנה


    select count(messageID) from forum group by UserId

שלח תשובה