436
צפיות
צפיות
17
תשובות
תשובות
תנאיי IF
יש לי 3 תנאים ואני רוצה שברגע ששלושתם יתמלאו אז זה ישלח אותי לדף מסויים
ניסיתי לעשות ככה אבל לא עובד
Elseif (struser = Rs.fields("Login")) AND (strpass = Rs.fields("Password")) AND (Rs.fields("Admin") = True) then
אהה ועוד משהו: איך עושים שברגע שאחד מהתנאים לא מתמלא אז זה מציג
" לא טוב "
17 תשובות
פשוט שם עוד ELSE
בגלל שזה elseif אז אתה יכול להוסיף עוד ELSE (ה-ELSEIF זה תנאי שמתבצע אם תנאי אחר לא התבצע)
התנאי נראה בסדר.
או שהוא באמת לא מתקיים, או שיש לך בעייה בהפנייה. צרף קוד ונוכל לעזור לך.
יש מספר בעיות
כאשר אני נכנס עם שם משתמש רגיל זה עובד בסדר גמור
כאשר אני נכנס כמנהל זה לא עובד אלא מכניס אותי לפורום
כאשר אני נכנס כמושעה זה מכניס אותי לפורום
כאשר אני מקיש סיסמא לא נכונה ושם משתמש נכון זה מודיע לי "סיסמא לא נכונה"
כאשר אני מקיש סיסמא נכונה ושם משתמש שגוי מופיעה לי השגיאה
Exception occurred.
צירפתי קובץ TXT כי הקוד די ארוך !
אופס
הנה שוב הקובץ רק בלי השטויות !
שוב….
טוב לא משנה אני אביא את זה פה למרות שזה הרבה מאוד !
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
אל תעשה כך
תבדוק האם קיימים שם משתמש וסיסמא כאלו אם כן , תבדוק האם הוא מנהל או מושעה
ואז תשתמש בelse שזה בעצם יהיו פרטים לא נכונים
ואל תעשה מלא ifים תשתמש בelseif
שיניתי
ועדיין לא פועל !
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"
לא טוב…
תוציא נתונים שיהיו שווים גם:login שווה לשם מתשמש וגם סיסמא שווה לסיסמא שהקליד המשתמש
תסדוק האם יש רשומות אם לא , לא קיים מתשמש
אם כן קיים משתמש
אם קיים משתמש תבדןק האם admin שווה לtrue ותבדוק גם האם sus שווה לtrue לכל אחד מהמקרים תן הודעה שונה לפי רצונך
אהההה……
לא הבנתי !! אחרי ה THEN אני רושם עוד IF
ניסיתי דבר אחר !
ככה זה נכון ??
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>")
כלומר מה שאני מנסה לעשות זה להעביר את המשתמש לא משנה מה הוא (חוץ מחסום) לדף של הפורום ורק למנהלם יופיע קישור קטן בצד שהוא הניהול !
אבל לא הבנת כל כך…
תראה:
אתה שולף נתונים מהטבלה איפה שהשם משתמש שווה למה שהקלידו והסיסמא שווה למה שהקלידו
עכשיו, אם הוא לא מחזיר לך רשומות זה אומר שאין משתמש אחר כך אתה פשוט עושה else זאת אומרת שהוא כן החזיר לך רשומות, בתוך הelse תעשה משפט if כי אז יש מצב שהוא מנהל או מושעה בתוך הelse הזה תגור את הif של בדיקת מנהל או מושעה ואז תסגור את ה if הראשון שרק בודק האם בכלל קיים משתמש
בסדר עכשיו יש לי עוד שאלה
שלא קשורה !!
אם אני רוצה לעשות מערכת מסרים באתר !
ברמת המסד אני צריך ליצור עוד טבלה (בסיסית) שבה יהיה ID MASS TO
ולעשות קשר גומלין בין TO ל USERNAME שב USERS
האם אני צודק ??
זאת בדיוק הדוגמא שבמדריך באתר.
וואלה
נשבע לך לא ראיתי את זה !
אתמול בלילה חשבתי על זה …..
ככה זה נכון
לא עשיתי בדיוק כמו במדריך ההוא אבל זה גם טוב לא …..
צירפתי תמונה !
אהה נזכרתי בעוד שאלה
איך עושים את האפשרות לספור כמה הודעות יש למשתמש בפורום ??
המנה
select count(messageID) from forum group by UserId