פורסם 2006 באפריל 1719 שנים אני רוצה לבדוק בדף הרשמה כלשהוא אם שם המשתמש שמישהו הזין לשדה כבר נמצא במסד הנתוניםאיך אני עושה את זה?
פורסם 2006 באפריל 1719 שנים אתה צריך את השורת sqlSELECT userID FROM UsersTBL WHERE username=usernameואז תבדוק אם מוחזר ערך כלשהו (האובייקט שונה מnull), אם כן, אז קיים משתמש, אם לא, אז לא קיים משתמש.
פורסם 2006 באפריל 1719 שנים זה לא שונה מNULL. הוא צריך לבדוק אם קבוצת הרשומות שהוחזרו לשאילתה הזו היא ריקה ע"י rs.eof ישר אחרי ביצוע שהאילתה. זה מחזיר TRUE עבור קבוצת רשומות ריקה, וFALSE עבור קבוצת רשומות ללא ריקה. אתה יכול גם לבדוק זאת ע"י recordcount, אבל זה כבר תלוי באופן שפתחת את קבוצת הרשומות.
פורסם 2006 באפריל 1819 שנים מחבר אני משתמש באקסס לא בסקלוניסתי לעשות באקסס את הקוד הבא ולא הצלחתי.. <% set con=server.createobject("adodb.connection") set rs=server.createobject("adodb.recordset") path=server.mappath("isrdx_db.mdb") con.connectionstring="provider=microsoft.jet.oledb.4.0;data source="&path&";" con.open name=Request.QueryString("user_name") rs.open "select * from users where user_name='"&name&"'",con,1,1 IF rs.eof THEN rs.close set con=nothing %> <script> alert("שם המשתמש שהכנסת כבר תפוס,בחר שם משתמש אחר"); return false; </script> <% response.redirect "reg.asp" end if%>
פורסם 2006 באפריל 1819 שנים תנסה if not rs.eof thenכלומר, אם קבוצת הרשומות לא רייקה, כלומר, אם יש רשומות שענו על בתנאים שלך, כלומר, אם יש רשומה בה שם המשתמש הוא זה שהוא הכניס בטופס הקודם.
פורסם 2006 באפריל 1919 שנים הרבה יותר יעיל ומהיר אם תריץ את הפקודה שעובדת גם ב- Access"SELECT COUNT(ID) FROM Users WHERE USERNAME = '" + username + "'"התוצאה תמיד תיהיה ב- אינדקס 0 של האובייקט Recordset כך שתוכל לבצע את הבדיקה כמו משהו כזהif rs.Fields(0) = 0 then'user does not existselse'user exists
פורסם 2006 באפריל 1919 שנים שים לב אבל, שעבור חיבור לאתר(פעולת login) עדיף להשתמש בשיטה השניה, מכיוון שהיא תחזיר גם את הסיסמא.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.