שלח תשובה

זירת השאלות

572
צפיות
14
תשובות

עזרה בASP

,‏ 16 בפברואר, 2006

אני לומד ASP מהאתר, וניסיתי לעשות דף התחברות.
ניסיתי את הדוגמא, אבל יש בה בעיה שאני לא יודע איך לתקן – שפותחים את הדף, הוא ישר מראה INVALID USER OR PASS – יעני הוא ישר עושה את הבדיקה, אפילו שעוד לא לחצתי על הכפתור ולא כלום.
איך מתקנים את זה?
תודה!

תגיות:

14 תשובות

  1. lior73 הגיב:

    אולי תנסהי …
    לעשות בעזרת תנאים לדוגמה :
    <%
    if request.form("user")="" or request.form("pass")="" then
    'כאן יהיה הטופס
    elseif request.form("user")<>rs("user") or request.form("pass")<>rs("pass") then
    response.write "INVALID USER OR PASS"
    else
    response.redirect "sec.asp?file=main&user="&request.form("user")
    end if
    %>

  2. spritesoda הגיב:

    אבל זה עדיין לא הגיוני
    למה הסקריפט מתחיל לעבוד אפילו שלא לחצתי על הכפתור!?

  3. spritesoda הגיב:

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

  4. בניה הגיב:

    ברור שזה יתחיל
    בס"ד

    תוסיף עוד input לטופס hidden שהשם  שלו login והערך true ותעשה ככה:


    <%
    if request.form("login") then
    if request.form("user")<>rs("user") or request.form("pass")<>rs("pass") then
    response.write "INVALID USER OR PASS"
    else
    response.redirect "sec.asp?file=main&user="&request.form("user")
    end if
    else
    פה יבוא הטופס
    endelse
    %>

  5. spritesoda הגיב:

    ארר
    אבל זה נשאר אותו דבר!!! אם אני עושה שהערך של המוסתר הוא TRUE, הוא ישר בודק את התנאים ומחזיר לי שגיאה של שםמשתמש/סיסמא שגויים, למרות שבכלל לא לחצתי על כלום איזה עצבים!!!!!!!!!!

  6. GreenBerret הגיב:

    נסי את זה
    If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    .
    .
    .
    .
    End If

  7. בניה הגיב:

    על מה אתה לוחץ???
    בס"ד

    כשאתה שולח את הטופס אז זה יקבל true ואז זה יבדוק.
    בלי שליחת הטופס זה לא יקרה.

  8. spritesoda הגיב:

    חח אני לא לחוץ
    אני פשוט כבר שלושה ימים מנסה לעשות את זה עם מיליון ואריאציות.
    ובנוסף, זה כן מקבל בכלל בלי שליחת הטופס! עשיתי בדיקה… הוספתי לפקודות שלי שלפני הכל הוא יגיד לי מה הערך של הHIDDEN שלי, והוא רושם TRUE, וגם ישר עושה לי את הארור..
    =

  9. בניה הגיב:

    תכתוב פה את כל הקוד שלך
    בס"ד

    או שתצרף אותו בקובץ.

  10. spritesoda הגיב:

    זאת גרסא אחת:


    <html>
    <head>
    <%@ Language=JScript%>
    <%
    if (Request("Username")!="" && Request("Password")!="")
    {
       var conn = Server.CreateObject("ADODB.Connection")
         , rs = Server.CreateObject("ADODB.Recordset")
         , SQLstr, okForProccess
      
       conn.Open ("EZjobs")

       SQLstr="SELECT ID,Password FROM tblusers "
       SQLstr+= "WHERE username='" + Request("Username") + "'"
       rs.Open (SQLstr,conn)
       if (!rs.EOF && Request("Password")==rs("password").value)
       {
       Session("ID")=rs("ID").value
       } else { Response.Write("<script language='javascript'>alert('שם משתמש או סיסמא שגויים')</script>")  }
        rs.Close
        delete rs;
        rs = null;
        conn.Close
        delete conn;
        conn = null;
    }
    %>
    <style type="text/css">
    *{font-size:11px; font-family:tahoma; font-weight:bold}
    </style>
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" bgcolor="#fa7171" background-style:fixed>
    <FORM method="post" action="logon.asp">
    <TABLE align="center">
    <TR>
        <TD>Username:</TD>
        <TD><INPUT TYPE="text" NAME="Username" value=""></TD>
    </TR>
    <TR>
        <TD>Password:</TD>
        <TD><INPUT TYPE="text" NAME="Password" value=""></TD>
    </tr>
    <tr><td><input type="submit" value="התחבר"></td></tr>
    </TR>
    </TABLE>
    </FORM>
    </body>
    </html>

  11. בניה הגיב:

    תנסה את זה:
    בס"ד


    <html>
    <head>
    <%@ Language=JScript%>
    <%
    if (request.querystring("login")=='ok')
    {
       var conn = Server.CreateObject("ADODB.Connection")
         , rs = Server.CreateObject("ADODB.Recordset")
         , SQLstr, okForProccess
      
       conn.Open ("EZjobs")

       SQLstr="SELECT ID,Password FROM tblusers "
       SQLstr+= "WHERE username='" + Request("Username") + "'"
       rs.Open (SQLstr,conn)
       if (!rs.EOF && Request("Password")==rs("password").value)
       {
       Session("ID")=rs("ID").value
       } else { Response.Write("<script language='javascript'>alert('שם משתמש או סיסמא שגויים')</script>")  }
        rs.Close
        delete rs;
        rs = null;
        conn.Close
        delete conn;
        conn = null;
    }
    %>
    <style type="text/css">
    *{font-size:11px; font-family:tahoma; font-weight:bold}
    </style>
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" bgcolor="#fa7171" background-style:fixed>
    <FORM method="post" action="logon.asp?login=ok">
    <TABLE align="center">
    <TR>
        <TD>Username:</TD>
        <TD><INPUT TYPE="text" NAME="Username" value=""></TD>
    </TR>
    <TR>
        <TD>Password:</TD>
        <TD><INPUT TYPE="text" NAME="Password" value=""></TD>
    </tr>
    <tr><td><input type="submit" value="התחבר"></td></tr>
    </TR>
    </TABLE>
    </FORM>
    </body>
    </html>

  12. spritesoda הגיב:

    אווו
    יופי תודה אחי עזרת לי מאוד PP=
    סורי ששיגעתי לכולכם את השכל =]

  13. בניה הגיב:

    המקום הזה נועד לשאול שאלות
    בס"ד

    גם לי יצא לא פעם

שלח תשובה