ABA


"שאלה ב ASP קוד שלא עושה את העבודה..."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #5067 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 5067
yo_wassap

   11:06   11.02.03   
אל הפורום  
  שאלה ב ASP קוד שלא עושה את העבודה...  
 
   משום מה הפלט שם הקובץ הוא : NOT ON FILE
5 פעמים - ז"א שהלולאה עושה את הבדיקה אך לא מוצאת שיוויון בין הרשומות בבסיס הנתונים למשתנים שבהם שמרתי את הנתונים שהכניס המשתמש בדף ה HTML שקורא לקובץ ה ASP שיש פה - למה זה ?

הקובץ הוא :


<%set conn=server.CreateObject("adodb.connection")%>
<%conn.open "mydsn"%>

<%dim uname%>
<%dim pass%>
<%uname=Request.QueryString("uname")%>
<%pass=Request.QueryString("pass")%>


<%set rs=server.CreateObject("adodb.recordset")%>
<%sqlstr="select * from users"%>

<%rs.open sqlstr,conn%>
<%rs.MoveFirst%>
<%do while not rs.EOF %>

<%if = uname and = pass then%>

<% Response.Write "your user name is:" & uname&"<br>"%>
<% Response.Write "your password is:" & pass&"<br>"%>
<%else%>
<% Response.Write "not on file<br>"%>
<%end if%>
<%rs.MoveNext%>
<%loop%>

ok


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  יש לך כמה ''שגיאות'' לוגיות אבל לא ניכנס לזה codmaster 12.02.03 00:04 1
     קודם כל תודה אחי על ההתיחסות אני רואה שאתה yo_wassap 12.02.03 01:12 2
         אם היית יכול codmaster 12.02.03 11:04 3
             אוווהה אחי זה יהייה פצצה תודה תודה תודה yo_wassap 13.02.03 13:04 4

       
codmaster

   00:04   12.02.03   
אל הפורום  
  1. יש לך כמה ''שגיאות'' לוגיות אבל לא ניכנס לזה  
בתגובה להודעה מספר 0
 
   עבר עריכה לאחרונה בתאריך 12.02.03 בשעה 00:05
 
בכל מקרה ישנה שורה שלא כל כך הבנתי אולי זו שגיאה שלך כאן בפורום...

<%if = uname and = pass then%>

אם אני לא טועה אתה לא משווה את המשתנים uname ו- pass לשום ערך
אתה אמור לבדוק שוויון מול השדות ב- DB שלך כלומר

if uname =rs("uname") and pass = rs("pass") then

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

select * from users where uname='" & uname & "' and pass='" & pass & "'"

להריץ את השאילתה הנ"ל בעזרת ADO ולבדוק אם היא לא מחזירה recordset ריק
אם לא סימן שהמשתמש קיים ואם כן אז המשתמש לא קיים...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
yo_wassap

   01:12   12.02.03   
אל הפורום  
  2. קודם כל תודה אחי על ההתיחסות אני רואה שאתה  
בתגובה להודעה מספר 1
 
   באמת מבין - ודבר שני אתה צודק זו לא הדרך שכתבתי את הקוד אלא בידיוק כמו שאתה כתבת בתיקון שלך אבל הפוך ז"א : לא ככה:
if uname =rs("uname") and pass = rs("pass") then
אלא ככה:
if rs("uname") = uname and rs("pass")=pass then
יש הבדל ?

אהה ובנוגע להצעה שלך - רעיון טוב - תודה על ההארה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
codmaster

   11:04   12.02.03   
אל הפורום  
  3. אם היית יכול  
בתגובה להודעה מספר 2
 
   לכווץ ולשלוח לי את ה- DB שלך ואת הדף ASP שלך זה היה טוב


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
yo_wassap

   13:04   13.02.03   
אל הפורום  
  4. אוווהה אחי זה יהייה פצצה תודה תודה תודה  
בתגובה להודעה מספר 3
 
   רק תשאיר מס איציק מסנג'ר או משהו


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net