585
צפיות
צפיות
62
תשובות
תשובות
בניית מערכת ניהול משתמשים
אהלן חבר'ה מה קורה?
אני עכשיו מנסה לבנות מערכת לניהול משתמשי האתר שלי…
דבר ראשון שאני רוצה לעשות, זה להציג את הרשימה של המשתמשים, כשישנה חלוקה לדפים, בכל דף יהיו 20 משתמשים לדוגמה, לכל משתמש יהיה קישור לפרטי המשתמש שלו, לפי ה-ID שבמסד (הדף הזה כבר בנוי), אני פשוט לא יודע איך לעשות זאת.
מערכת הניהול—> המאפשרת לי לערוך פרטי משתמשים ואף למחוק אותם?
איך עושים זאת?
אשמח למי שיענה לי,
תודה וחג שמח!
חגי.
62 תשובות
מה הקושי?
הכל?
צריך יותר לפרט.
מה בדיוק ניסית לעשות? קיים קוד רלוונטי?
צריך להבין כיצד מבצעים זאת באופן תאורטי?
באתר יש מאמר על חלוקה לעמודים.
בנוגע להצגת פרטי המשתמש, פשוט תריץ שאילתה דומה לזו
SQL = "SELECT username,firstName.lastName FROM users WHERE id="&Request.QueryString("id")
ותציג את פרטי המשתמש.
הקושי שלי
אז ככה, BuildHome, אני מתקשה בכתיבת הקוד עצמו,
בת'כלס אין קוד רלוונטי שאני יכול להראות לך, כי עוד לא התחלתי בנושא (אני לא כל כך יודע מאיפה…)
אני צריך להבין איך מבצעים זאת באופן תיאורטי.
מה שכן בניתי, זה דף הפרופיל אשר מציג את פרטי המשתמש, לפי ה-ID שלו.
כיצד לבנות את הרשימה….?
מצפה לעזרה,
חגי.
אוקי
הקוד של הצגת המשתמשים באתרך מאוד פשוט.
פשוט עוברים בלולאה קצרה על כל הרשומות בטבלת המשתמשים.
SQL = "SELECT id,username,firstName.lastName FROM users"
rs.Open SQL, Conn
If not rs.EOF Then
Do while not rs.EOF
Response.Write rs("id") & " – <a href=""profile.asp?id="&rs("id")&""">" & rs("username") & "</a><br>" & vbcrlf
rs.MoveNext
Loop
End If
rs.Close
עכשיו, הלולאה סה"כ מדפיסה את ID המשתמש ואת שם המשתמש כאשר הוא קישור אל הצגת פרופיל המשתמש.
אתה פשוט צריך להוסיף עוד נתונים להדפסה ולסדר אותם בטבלה או בכל דרך שמתאימה לך.
בקשר לחלוקה לעמודים – כמו שכתבתי, קיים מאמר על כך באתר.
על מנת למחוק משתמש פשוט תשתמש בשאילתת מחיקה פשוטה למדי.
Conn.Execute("Delete FROM users WHERE id="&Request.QueryString("id"))
תודה לך…
אני אבדוק את פיתרונך מיד!
אתה בטח עוד תשמע ממני…
חג שמח לכולם!
חגי.
אתה יכול לעשות ככה
אבל בהתקדמות הזמן כאשר יהיו לך יותר ויותר משתמשים
יקח לדף הז לעלות הרבה זמן ….
לכן אני מציע לך תלמד קצת על מערכים מהאתר …. ותבנה את זה עם מערכים
תאמין לי זה הרבה יותר מהיר ….
וגם אתה תדע לעבוד עם מערכים שזו גם התקדמות לשמה…
אז תעשה את השיקולים שלך מהירות וידע או ידע קודם ונוחיות
חג שמח לכולם וגם לך נועם צברי
מערכים?
מה זה בדיוק?
אני לא יודע איך לעבוד עם זה, ואף פעם לא שמעתי על זה…
אשמח לקבל מדריך על השיטה הנ"ל.
בברכת חג שמח,
חגי.
מתוך מדריך VBS
יש לי שאלה חדשה!
כשאני מציג נתונים מהמסד ע"י שימוש בלולאה,
איך אני עושה שזה יציג תמונה מסויימת למשפט כלשהו.
לדוגמה:
אם רשום במסד "מסמך Doc" יציג לי סמל מסויים.
"מצגת PowerPoint"- סמל אחר, "מסמך HTML"- סמל אחר וכן הלאה…
חשוב לציין- שאת כל הסמלים הנ"ל יש לי,
אני רק לא יודע איך להציג אותם לכל סוג סיכום (באתרי) שיש לי…
אודה לעוזרים,
חגי בן-לולו.
חג שמח!
משתמשים ב switch…
לפי הערך שמקבלים ממסד הנתונים בוחרים איזה תמונה להציג. מה הבעיה?
למעשה, אם התמונות הן קבועות לכל ערך במסד, אז שווה לך להכניס רפרנס לתמונה למסד הנתונים במקביל סוג המסמך ולפשט את הקוד.
אני יפרט
תעשה תמונה לכל איבר במערך (לדוגמא 0 זה תמונה של וורד, 1 זה תמונה של פוורפוינט וכו')
dim desarr = Array("מסמך Doc","מצגת PowerPoint","מסמך HTML","קובץ טקסט")
dim tmp
tmp = VariableContainsTheStringToReplace
for arrindex=0 to ubound(desarr)
tmp = replace(tmp,desarr(arrindex),"<img src=""" + arrindex + ".jpg"" />")
next
VariableWillContainTheString = tmp
לא ברור…
מצטער, אך נושא המערכים לא כל כך ברור לי…
כמו-כן, חשוב לציין שבמסד רשום:
מסמך DOC
מצגת POWERPONT וכו'..
האם ישנה דרך אחרת להציג את התמונה?
ככה
Select Case sign
Case "Doc"
yourImg = "images/doc.gif"
Case "PowerPoint"
yourImg = "images/ppt.gif"
End Select
ככה עושים זאת.
או לחילופין, אפשר לצרף עוד עמודה
לטבלה, ולכתוב בה את השםכתובת של התמונה שמתאימה לסוג המסמך שאתה מציג. זה גם פותר אותה מלהוסיף לקוד, זה גם מאפשר לך בקלות רבה להוסיףלהורידלשנות את סוגי המסמכים, וזה גם שימוש נכון יותר ב DB.
תודה! פתרתי את הבעיה! שאלה נוספת…
סידרתי את הכל, והבעיה היחידה שנותרה לי, היא חלוקת הדף שלי לעמודים,
כרגע זה מציג לי 150 רשומות בדף אחד.
וגם אחרי קריאת המאמר באתר, לא הבנתי כיצד ניתן לחלק את הרשימה לעמודים
(20 רשומות בדף).
אשמח לעזרה,
חגי.
אל תכליל
תגיד מה בדיוק לא הבנת.
מה בדיוק ניסית? קיבלת שגיאה?
גם אני לא מצליח
לסדר לעמודים כאשר אני עובד עם מערכים…..
אשמח לקבל קצת הדרכה או מאמר
תודה מראש נועם צברי
נ.ב.
קראתי את המאמר שב ASP.ORG.IL אבל הוא לא עזר לי
אני הצלחתי
לבצע חלוקה לעמודים באופן רגיל או עם מערכים.
הרעיון הוא אותו רעיון.
במידה ויש לך בעיה ספציפית פתח נושא חדש (snoop12).
ביצוע חלוקה לעמודים באופן רגיל…
הכיצד?
עפ"י המאמר שיש כאן באתר, זה עם מערכים, משהו שאני לא כל כך מסתדר איתו…
ישנה שיטה אחרת??
שום מערכים
באתר לא מתעסק עם מערכים והוא מתאים לך.
עידכון רשומות בטבלה…
אז ככה, בניתי מערכת ניהול, ואני רוצה עכשיו לבנות את הדף אשר משנה את הנתונים שזה מבקש (לפי ה-ID).
הטופס שמציג את הנתונים בנוי כבר- עכשיו, איך אני יכול לשנות את הנתונים המוצגים?
אודה מאוד לעוזרים, אשר יסבירו לי כיצד לבצע זאת, עפ"י איזה שיטה.
שאילתת Update
חלוקה לעמודים
נסו כאן:
שגיאה!
השתמשתי במאמר מהאתר (ADO), על מנת לבצע עידכון ברשומות.
הנה השגיאה שזה מציג לי.
Expected identifier
/sedit.asp, line 3, column 37
Dim ID, Edit, Name, Subject, Author, Class, Date, Type, Size, Link
————————————^
האם זה מפני שישנם הרבה ערכים שצריך לשנות?
מה הבעיה בדיוק?
הקוד:
<%
Dim ID, Edit, Name, Subject, Author, Class, Date, Type, Size, Link
Dim Conn, rs, SQL
ID = Request.QueryString("id")
Edit = Request.QueryString("Edit")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Server.MapPath("sikumim.mdb")
Set rs = Server.CreateObject("ADODB.RecordSet"
If IsEmpty(ID) or IsNumeric(ID) = False Then ID = 0
SQL = "Select * from Downloads where ID="&ID
rs.Open SQL, Conn
If rs.EOF Then
Response.Write "<h3 align=""center"">הרשומה המבוקשת נמחקה או אינה קיימת במסד הנתונים!</h3>" & vbcrlf
Else
If Edit <> "True" Then
%>
ואז בא החלק שאחרי הקוד…
<%
Else
Name= Request.Form("name")
Subject= Request.Form("Subject")
Author= Request.Form("Author")
Class= Request.Form("Class")
Date= Request.Form("Date")
Type= Request.Form("Type")
Size= Request.Form("Size")
Link= Request.Form("Link")
rs.Close
SQL = "Select * from Downloads where ID="&ID
rs.Open SQL, Conn, 2, 3
rs("name") = name
rs("Subject") = Subject
rs("Author") = Author
rs("Class") = Class
rs("Date") = Date
rs("Type") = Type
rs("Size") = Size
rs("Link") = Link
rs.Update
rs.Close
Response.Redirect("Done.asp")
End If
End If
Set rs = Nothing
Conn.Close
Set Conn = Nothing
%>
למקרה שתרצו לעיין בקוד, ומה לא עשיתי בו טוב.
חג שמח לכולם!
אני לא יודע
על מה מצביע החץ אבל מה שאני כן יודע זה שהמילה Date ו-Type שמורות ותצטרך לשנותן.
מה ז"א?
שמורות?
לשנותן?
אבל ככה רשום במסד…
או שאתה מתכוון שאני אשנה את המילים בטופס?
החץ לא מצביע על כלום, הוא מצביע על רווח…
וזה ממש מעצבן אותי, זה תוקע אותי בעבודה…
קרא באתר מאמר על המילים השמורות.
לא מסתדר ניר…
הנה השגיאה
Syntax error. in query expression 'Users.ID NOT IN (SELECT TOP 0 ID FROM Users ORDER BY ID ASC)'.
הנה הקוד
sql = "SELECT TOP 15 ID ,Nick ,Password ,Email ,Fname ,Lname ,Gander ,Age ,Status ,IP ,Birthday FROM Users WHERE Users.ID NOT IN (SELECT TOP "&(15*page)&" ID FROM Users ORDER BY ID ASC)"
ואני קורא לדף בלי ה PAGE כלומר יוצא שהPAGE שווה לאפס
יכול להיות שזו הטעות כי כשניסיתי להיכנס עם סטרינג שונה(users.asp?page=1)
זה נכנס לי והציג את שאר המשתמשים כלומר ה 15 הבאים
אז שאלתי היא איך אפשר לעקוף את האפס ושיציג את ה 15 הראשונים כאשר אני קורא לדף בצורה רגילה ?
תודה רבה מראש נועם צברי
די פשוט
תבדוק אם page = 0 ואז תבצע שאילתה ללא ה-page*15 ואם הוא גדול מ-0 אז תבצע את השאילתה כפי שכתבת.
בעיה בטופס עידכון פרטים!
אז ככה, יש לי בעיה חדשה!
בניתי טופס שמשנה פרטים- לפי ה-ID…
בטופס מוכנסים Values, שמציגים את פרטי הסיכום (במקרה שלי) שאותם אני רוצה לעדכן.
יש לי תא בשם: Name,ובתוכו מוכנס הערך
<%=rs("name")%>
הבעיה היא, שעל השרת עצמו, זה מציג אותו, אבל אם השם מכיל מרכאות ( " )
אז זה יציג עד למרכאות.
לדוגמה בטופס:
שם: חברה למבחן ב"
סתם המצאתי שם, אבל כעיקרון זה מציג עד למרכאות.
מישהו יודע מה הבעיה?
אשמח לעזרה,
חגי.
אתה צריך להמיר
מספר תווים (כגון גרש,מרכאות) לפני הכנסתם למסד או בעת עדכונם במסד.
ותדע מה להחליף ואיך.
שאלה חדשה! שליפת נתונים מהמסד..
אז ככה,
יש איזה משהו שאני רוצה לעשות, אך אין לי מושג כיצד לבצע זאת.
יש לי מערכת הורדת סיכומים באתר שלי,
ומערכת משתמשים באתר שלי.
בפרופיל משתמש של כל חבר באתר, הייתי רוצה לראות את שם הסיכום האחרון שהוריד המשתמש.
האם צריך להוסיף עמודה כלשהי למסד בשביל לבצע זאת?
וכיצד לעשות זאת בכלל?
אשמח לתשובה מודרכת,
חגי.
כן ככה אני יודע
תוסיף עמודה בשם הורדות או איך שאתה רוצה וכל הורדה תוסיף 1
אם אתה לא יודע אז השאילתה אמורה להראות ככה
sql="SELECT * FROM Users WHERE Nick='" & cint(request.querystring("Login"))& "'"
מקווה שעזרתי נועם צברי
שכחתי לציין ש…
מערכת משתמשים זה על מסד אחד.
ומערכת הורדת סיכומים זה מסד אחר.
אין קשר בין שני המסדים.
לפי מה שהבנתי, אני צריך להוסיף למסד נתונים של הסיכומים עמודה (לא משנה השם), ולעשות את זה מספר.
כיצד לקשר בין זה שמשתמש כלשהו (מסד 1) מוריד סיכום (מסד 2)?
לא הבנתי כ"כ את השאילתה..
Sorry
חג שמח ושבת שלום,
חגי.
תצטרך לאחד את המסדים
הכיצד?
כיצד לבצע זאת?
שאלה חדשה ופשוטה- תאריכים!
יש לי טופס המכניס למסד.
בטופס הכותב למסד הנתונים, יש קוד כזה:
rs.Fields("Date") = FormatDateTime(Now,2)
הקוד מכניס לעמודה במסד את התאריך הנוכחי : 6 ספרות.
הבעיה היא…
שזה מכניס את התאריך בסדר הפוך:
למשל, היום התאריך:
01/10/2004
והוא הכניס למסד:
2004/10/01
האם ניתן לפתור את הבעיה?
תודה לעוזרים!
אתה יכול
לשנות את התצוגה של התאריך עם הפונקציות day,month,year.
אגב, התאריך אמור להיות בפורמט mm/dd/yyyy ולא dd/mm/yyyy
תעתיק את הטבלאות ממסד
המשתמשים אל מסד המוצרים דרך אקסס.
איך לשנות את התצוגה? ו…
איך לשנות את התצוגה של התאריכים?
והרי שזה קוד בפני עצמו.
ונניח שבמסד אחד יש את המשתמשים ואת ההורדות,
מה הלאה?
תודה על התמיכה ועל כל העזרה…
תשובה
1. כשאתה מציג תאריך, אתה בדר"כ מציג אותו כ-As Is (ללא שינוי):
<%=rs("theDate")%>
אתה צריך להציגו בצורה הזאת:
<%=
theDate = rs("theDate")
theDate = Day(theDate) & "/" & Month(theDate) & "/" & Year(theDate)
%>
ואם אתה רוצה גם עם שעה אז תעשה כך:
<%=
theDate = rs("theDate")
theDate = Day(theDate) & "/" & Month(theDate) & "/" & Year(theDate) & " " & FormatDateTime(theDate,4)
%>
2. תצטרך להוסיף עמודה בטבלת המשתמשים, למשל בשם lastDL מסוג מספר.
כשהמשתמש מוריד סיכום מסוים אז תצטרך לעדכן גם את העמודה lastDL עם ID ההורדה שהוא כרגע מוריד, לדוגמא:
Conn.Execute("UPDATE users SET lastDL="&Request.QueryString("id"))
ולאחר מכן לבצע את ההפניה לקישור ההורדה.
בתצוגה של ההורדה האחרונה של כל משתמש, פשוט תשתמש בשאילתה פשוטה שתשלוף את שם ההורדה לפי ה-ID שמופיע בעמודה lastDL של המשתמש.
חסימת משתמשים- שאלה חדשה…
אז ככה, בניתי מערכת ניהול משתמשים,
ורציתי שתהיה לי אפשרות כזאת בניהול של "חסימת משתמשים".
איך עושים זאת?
ואני רוצה שכשהמשתמש החסום ינסה להתחבר אז הוא יקבל הודעה (שפשוט יעשה לו Response.Redirect) לדף שכותב… נחסמת… בלה בלה בלה…
ושהוא לא יצליח להירשם (לא הכרחי).
האם הדבר אפשרי? כיצד לעשות זאת?
תודה לעוזרים,
שבת שלום.
…
אתה יוצר בטבלה שלך במסד עמודת סטטוס מסוג כן/לא ואז אם הוא מסומן שם אז הוא חסום
וברמת הקוד אתה פשוט בודק.
מה מסובך כאן ?
אתה יכול לשתול אצלו עוגייה שאומרת שהוא חסום ואז זה יעזור קצת כדי שהמשתמש לא יוכל להירשם
אל תחסום IPים כי הם הם מתחלפים ויכולים להגיע לאנשים שלא עשו כלום
תגובה…
נגיד והוספתי עמודה למסד – סטטוס ואם היא מסומנת אז הוא חסום,
כיצד באמת לבדוק זאת ברמת הקוד?
וזה שאני שותל אצלו עוגייה, לא נראה לי העניין…
כי סה"כ יש כאלה גולשים שחוסמים עוגיות, או שמורידים תוכנות שבסוף הגלישה שלך פשוט מוחקים את ההיסטורי שלך, עוגיות וכיו"ב.
כך שאם אני אשתול "עוגייה" לחסימת משתמש לא יהיה הכי יעיל כאן,
אם אפשר, ארצה שתסביר לי יותר את העניין של המסד נתונים,
התהליך עצמו כיצד מתבצע?
הזמנו היה פה דיון גדול מאוד
והמסקנה מהדיון הזה היה שאי אפשר באמת לחסום מישהו
כי הכול אפשר לשנות…..
ועוד עצה לי אליך במקרה ואתה רוצה לגם לעשות מנהל שם (כללי)
תקח עמודה ותקרא לה סטטוס ובה תכניס ערכים מ 1-4 (אפשר לחסום ע"י חוק אימות)
וברמת הקוד תבדוק האם השם משתמש והסיסמא נכונים
אם כן תתחיל לבדוק מה הוא תכניס תמידע למשתנה ובסוף בעזרת SELECT CASE
תוציא את הפלט הנכון
מקווה שעזרתי נועם צברי
נ.ב.
אפשר לחסום בעזרת אימייל של ספקית האינטרנט אבל גם זה ניתן לשינוי (ולזיוף)
אז כדי שלא יזייפו תשלח לשם את הסיסמא והמידע על המשתמש…..
מצטער על הטעויות…
פשוט מיהרתי
*בזמנו
*ואם אתה רוצה לעשות מנהל כללי
וכשאני אומר שאפשר לחסום ע"י חוק אימות
כשאתה בוחר (בתצוגת עיצוב) "מספר" מופיע לך למטה כל מיני אפשרויות
אחת מהם היא חוק אימות תיכנס לשם ותרשום 1or 2 or 3 or 4
(יכול להיות שאפשר לאמת(חוק אימות) בדרך אחרת אבל לי ככה זה הצליח
לבדוק ברמת הקוד
זה לבדוק בשאילתה פשוטה.
כשאתה בודק את פרטי המשתמש כאשר הוא מנסה להתחבר תבדוק גם את הסטטוס.
האם הוא false (לא חסום) ואז תפעל בהתאם.
אתה צריך לאחסן את פרטי המשתמש בקוקיז ובכל פעם בעמוד תבדוק אימות פרטים לפי פרטי הקוקיז ואם הוא לא קיים פשוט תאפס את הקוקיז וככה בעצם המשתמש יהיה חסום.
אתה לא יכול לחסום משתמש באופן מוחלט אך אפשרי באופן חלקי.
תגובה ושאלה…
נועם, תודה על ההתייחסות קודם כל,
שנית כל..
חוק אימות? כיצד משתמשים בזה?
אתה מתכוון במסד נתונים, נכון?
אשמח לקבל מדריך בנושא למי שיש להציע…
שלישית- השאלה…
איזכור סיסמה למשתמש ע"י שליחה לאימייל…
איך עושים את זה?
והאם ניתן לעשות זאת כאתרי מאוכסן על שרת חינמי?
תודה מראש,
חגי.
אתה מדבר על דברים פשוטים
כל מה שאתה מדבר עליהם מתבצעים בעזרת שאילתה מתאימה.
בשביל אימות הנתונים כבר כתבתי לך תגובה.
בשביל שחזור סיסמא אתה מבקש מהמשתמש להכניס את כתובת הדוא"ל שלו, שם משתמש או כל נתון אחר ומשווה אותו בשאילתה ומוציא את הסיסמא (במידה והרשומה קיימת).
תשמע…
האימייל זה בעייתי אבל אפשר לנסות להתחבר לשרת מייל ומשם לשלוח
אבל בעיקרון אתה מחפש את השם משתמש במסד ומשם לוקח תאימייל –> מכניס למשתנה
ושולח אימייל עם המידע בפנים
אבל כבר הסברתי זה בעייתי נורא
לגבי החוק אימות (בילד לא ראיתי תתגובה שלך )
רשמתי בתגובה שלי… בתצוגת עיצוב מופיע לך למטה חוק אימות
(אני אצרף תמונה משלי כדי שתראה בדיוק) שמה אתה משנה למה שאת רוצה
מקווה שעזרתי נועם צברי
המילה Class היא מילה שמורה
גם המילה Class, וגם Date ו-Type הן מילים שמורות,
אתה לא יכול לקרוא ככה למשתנים שאתה יוצר.
בכל מקרה, השם של המשתנים לא חייב להיות זהה לשמות של השדות ב-DB שלך,
ככה שאתה יכול לקרוא להם אפילו ClassField, DateField ו-TypeField.
תיבת Checkbox – הכנסה למסד נתונים..
משהו שלא מסתדר לי…
בניתי טופס הרשמה, ובחלק שמכניסים את הכתובת דו"אל, אז עשיתי
תיבת מילוי (Checkbox).
הבעיה היא.. שבטופס שממלא את הנתונים למסד..
איך בדיוק להכניס את זה שהשמתמש סימן ב-V את התיבה או לא…
במסד יש עמודה בשם mail, עם אפשרות של כן/לא…
אני עובד עם ADO…
כמו שלממשל בקוד הזה שכותב את השם של המשתמש:
rs.Fields("Fname") = Request.Form("Fname")
אז איך לעשות זאת?
אותו דבר
אין שום שינוי.
ההבדל היחידי הוא שבמידה והתיבה לא מסומנת הערך שיתקבל מהטופס יהיה ריק.
לא עובד… שגיאה…
זה לא עובד כשעושים ככה, זה מעיד על שגיאה,
הכנסתי את הקוד:
rs.Fields("mail") = Request.Form("mail")
מיותר לציין שבמסד יש עמודה בשם mail, מסוג כן/לא.
אך עדיין יש שגיאה.
Type Mismatch… משהו כזה, לא זוכר…
וזה מראה לי את השורה הנ"ל.
מה הבעיה? כיצד לפתור אותה?
אתה צריך
לבדוק את הערך לפני הוספתו למסד.
תבדוק בצורה כזו:
mail = LCase(Request.Form("mail"))
If Len(mail) = 0 or (mail <> "true" and mail <> "false") Then mail = False
rs("mail") = mail
בעיה—> רקורדסט / חסימה
אז ככה…
בקשר לחסימה…
בדף שמבצע התחברות, אני מגדיר רקורדסט חדש,
שאומר ככה בעצם:
<%
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM login Where rs.Fields("Loginname") = Request.Form("txtname")"
rs.Open SQL, conn, 1, 1
If rs1.Fields("status") = "2" then
Response.Redirect("Blocked.asp")
Response.End
End if
%>
מה עשיתי פה בעצם?
במסד יש עמודה בשם status מסוג מספר.
1 = משתמש משוחרר.
2 = משתחרר חסום.
כרגע כולם מוגדרים על 1 – משוחרר…
מה שאתם רואים למעלה, זה בעצם…
שזה צריך לחפש במסד את הסטאטוס של המשתמש- הוא מחפש במסד את השם משתמש שהוא קיבל מהטופס…
בגלל זה יש Request.Form, ואז הוא רואה אם הסטאטוס שלו אחד או 2.
אם זה 2, זה מוביל לדף החסימה, שם נשתלת עוגייה…
הבעיה היא.. שזה לא עובד..
משהו כאן לא הגיוני, נראה לי שהרקורדסט לא מוגדר טוב.
נ.ב
בטופס התחברות – txtName = לשם משתמש שבמסד – LoginName.
מה לא בסדר בקוד?
אודה לעוזרים!
תיקון טעות…
בשורה החמישית אמור להיות רשום rs, ולא RS1…
Sorry
כנראה אתה לא יודע
לשרשר משתנים לשאילתה.
SQL = "SELECT * FROM login Where Loginname='"&Request.Form("txtname")&"'"
לדעתי אתה צריך לעבור קצת על מדריך ה-SQL.
קרא .
שירשור נכון? = שגיאה?
האם השירשור נכון?
<%
set rs=server.createobject("adodb.connection")
rs="provider=microsoft.jet.oledb.4.0; data source="& server.MapPath("Sikumim.mdb") &""
set SQL=server.createobject("adodb.recordset")
SQL.activeconnection=rs
SQL = "SELECT * FROM login Where Loginname = '"&Request.Form("txtname")&"'"
rs.Open SQL, conn, 1, 1 If rs.Fields("status") = "2" then
Response.Redirect("Blocked.asp")
Response.End
End if
%>
ישנה שגיאה בעת הרצת הדף:
Microsoft VBScript runtime error '800a01a8'
Object required: 'rs1'
/hagai2004/Sikumim2/yell.asp, line 21
שורה 21 מודגשת…
מה הבעיה?
תיקון…
בשגיאה זה rs…
ורק השורה המודגשת זה שורה 21
מה שאחרי מודגש, צריך להיות בשורה נפרדת…
התבלבלת
יצרת חיבור למסד נתונים בשם rs ורקורדסט בשם SQL ואין לך חיבור בשם conn.
הבעיה סודרה!
תודה לכל התומכים,
ובמיוחד לעמי…