582
צפיות
צפיות
59
תשובות
תשובות
מישהו יכול לעזור לי עם טופס asp ..?
קראתי את המדריך באתר על הasp ועכשיו אני רוצה לדעת משהו…איך עושים שיהיה לי באתר דף של הרשמה כזה-
שם משתמש:
אימייל:
סיסמא:
[הירשם]
ולאחר שילחצו הירשם המידע יועבר לתוך הדאטא בייס שעשיתי עם מיקרוספט אקסס…יש למישהו קוד כזה??
וד"א אני רוצה גם מערכת התחברות וגם שיהיה בצד למעלה שורה שיהיה כתוב בה שלום <%=username%> תודה שהתחברתה…משהו כזה…
בבקשה ותודה מראש לעוזרים…קראתי על הבסיס נתונים ולא הבנתי כל כך..
מאוד יעזור לי אם מישהו יביא לי את הקוד מוכן…תודה
59 תשובות
בשביל זה
צריך ללמוד גם SQL ו-VBS.
קרא גם את המדריך על עבודה עם מסד נתונים (במדור SQL).
בנוסף, תצטרך ללמוד על קוקיז (עוגיות).
קרא את תקנון הפורום.
אגב, עניתי לך כבר ממזמן בתפוז וראית מהי התגובה. כאן זה לא יהיה שונה.
אין קוד מוכן ?
מישהו לא יכול לתת לי קוד מוכן??
לא
לעשות טופס אני יודע אבל איך אבל…
אבל איך אני עושה שמה שאני מכניס בטופס ישלח לדאטא בייס ??
בשביל זה
תצטרך ללמוד SQL וללמוד את מדריך "עבודה לתכנון DB" באותו המדור.
הודעה שמסבירה באופן בסיסי כיצד מוסיפים נתונים למסד מטופס:
שאלה על טופס התחברות לאתר..
עשיתי שיוכלו להירשם לאתר ולאחר ההרשמה המידע מגיע אל הדאטא בייס…עכשיו עשיתי טופס של התחברות לאתר..איזה קוד מוסיפים לטופס כדי שהוא יבדוק אם השם משתמש וסיסמא רשומים בדאטא בייס??
חיפשתי במדריכים כאן לא מצאתי…וגם איך אני עושה שלאחר שמישהו נכנס יהיה כתוב לו "שלום $user, תודה שהתחברתה" ?? ככה ? <%=user%> ??
איך אפשר לראות את הקוד של הדף הזה?
http://users.websamba.com/fileman/Site_Manager.asp?a=dl&f=0%7Czip%5CDeWizard%2Easp
הדף הזה …
http://www.lifshiz.macam98.ac.il/shlomy/asp/projects/usesrs/checkuser.asp
טעות שלי
אי אפשר
זה טכנולוגית צד שרת, המידע של ה ASP אפילולא מגיע למחשב שלך.
אז איך בונים…
איך בונים דף שבודק את הפרטים שמכניסים בלוג אין ..אם השם משתמש וסיסמא קיימים בדאטא בייס ואם לא שירשום שהמשתמש אינו רשום..
?
הצלחתי לבנות טופס ששולח מידע לדאטא בייס..
איך בונים מה שכתבתי למעלה?
ניסיתי לבנות משהו אני יתן קוד עוד מעט אבל זה לא עובד בכלל…
מדריך ה ASP
באתר, פרק אחרון יש דוגמה להיתחברות + הרשמה.
מומלץ לחפש באתר ליפני ששואלים שאלות, תודה.
טוב אז ככה..[עזרה]
זה הדף הראשי ובו בצד יש את חלון ההתחברות
http://www.t3k.up.co.il
לאחר שמכניסים את הסיסמא ושם המשתמש אני רוצה שזה יבדוק בדאטא בייס אז הוספתי דף בשם chackuser.asp
הקוד שלו-
<%Dim Conn, RS
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("/DeWizard/zip/db2.mdb")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/DeWizard/zip/db2.mdb")
sql = "SELECT * FROM [users]"
RS.Open sql, Conn, 3, 3%>
<%
login = request.Form("login")
pass = request.Form("pass")
set Conn = server.createObject("ADODB.CONNECTION")
Conn.open connString
SQL = "SELECT * FROM users WHERE login='" & login & "'"
SQL = SQL & " AND pass = '" & pass & "'"
'response.write SQL
set rs = conn.Execute(SQL)
if not rs.EOF then
session("login") = rs("login")
session("pass") = rs("pass")
response.redirect "dewizard.asp"
else
response.write "<FONT COLOR='red'>User NOT Found !!!</FONT>"
end if
conn.close
%>
<title>chackuser</title>
הוא אמור לבדוק את מה שמכניסים בטופס ההתחברות אבל משום מה זה לא פועל…מה עושים?
מספר דברים
1. תיישר את הקוד לשמאל.
2. תציג קוד רלוונטי בלבד.
3. תגדיר "לא פועל". יש שגיאה? משהו?
איזה ערכים צריך…
להכניס בשדות שלפני הsumbit במערכת ההתחברות ??
[בדאטא בייס Login = שם משתמש, pass = סיסמא]
בוא נעשה סדר בדברים…
דבר ראשון, לא תקבל כאן קוד מוכן! (אתה מוזמן לקרוא את תקנון הפורום)
דבר שני, תעבור קודם כל על המדריכים שהמליצו לך. לאחר מכן, לפני שתתחיל לשאול שאלות, .
בניתי את הקוד יש לי אותו!
רק תגידו איזה ערכים (vaules) צריך לשים לשדות של הטופס שדרכו מתחברים לאתר??
מה הכוונה 'איזה ערים צריך לשים…'?
תפרט קצת יותר..
*ערכים
בעיה חדשה…=(
שמתי את הקוד הזה אבל משום מה גם שאני מכניס פרטים נכונים הוא אומר שהשם משתמש והסיסמא לא נכונים
<%@ Language=VBScript %>
<%
If Request("login")<>"" And Request("pass")<>"" Then
Dim conn, rs, SQLstr, okForProccess
Set conn = Server.CreateObject("ADODB.Connection") 'connection object
Set rs = Server.CreateObject("ADODB.Recordset") 'recordset object
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/DeWizard/zip/db2.mdb")
SQLstr="SELECT id,pass FROM Users "
SQLstr= SQLstr & "WHERE login='" & Request("login") & "'" ' SQL query
rs.Open SQLstr,conn 'oppening the recordset
If Rs.EOF Then 'if there are no corresponding records
okForProccess=false 'Invalid login
Else
If Request("pass")<>rs("pass") Then
okForProccess=false 'Invalid password
Else
okForProccess=true 'valid password
Session("id") = rs("id")
End If
End If
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
If okForProccess Then ' both login and password are valid
Response.Write "<center><FONT COLOR='white'>" 'displaying error message
Response.Write "ההתחברות הצליחה. המשך גלישה מהנה</FONT></center>"
Else
Response.Write "<center><FONT COLOR='white'>" 'displaying error message
Response.Write "שם משתמש או סיסמא שגויים</FONT></center>"
End If
End If
%>
תעשה את הכל
ברמת ה-SQL במקום לבדוק את הסיסמא בהמשך הקוד פשוט תבדוק גם אותה בשאילתה.
SQLstr="SELECT id,pass FROM Users WHERE login='" & Request("login") & "' AND pass='" & Request("pass") & "'"
rs.Open SQLstr,conn 'oppening the recordset
If Rs.EOF Then 'if there are no corresponding records
okForProccess=false 'Invalid login
else
okForProccess=true 'valid login
end if
rs.close
עדיין לא עובד
שלחתי בטעות הודעה ריקה -הנה השגיאה
ADODB.Recordset error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/DeWizard/zip/DeWizard.asp, line 61
ד"א זה הקוד
<%@ Language=VBScript %>
<%
If Request("login")<>"" And Request("pass")<>"" Then
Dim conn, rs, SQLstr, okForProccess
Set conn = Server.CreateObject("ADODB.Connection") 'connection object
Set rs = Server.CreateObject("ADODB.Recordset") 'recordset object
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/DeWizard/zip/db2.mdb")
SSQLstr="SELECT id,pass FROM Users WHERE login='" & Request("login") & "' AND pass='" & Request("pass") & "'"
rs.Open SQLstr,conn 'oppening the recordset
If Rs.EOF Then 'if there are no corresponding records
okForProccess=false 'Invalid login
else
okForProccess=true 'valid login
end if
rs.close conn.Close
Set rs = Nothing
Set conn = Nothing
If okForProccess Then ' both login and password are valid
Response.Write "<center><FONT COLOR='white'>" 'displaying error message
Response.Write "ההתחברות הצליחה. המשך גלישה מהנה</FONT></center>"
Else
Response.Write "<center><FONT COLOR='white'>" 'displaying error message
Response.Write " הודעת מערכת: שם משתמש או סיסמא שגויים</FONT></center>"
End If
End If
%>
השורה 61 מודגשת
באמת…
כתבת את השאילתה במשתנה SSQLstr וניסית לבצע את SQLstr.
שמתי לב…אחר כך ניסיתי שוב ו..
וניהיה לי בעיה שמתי שאני כותב שם משתמש וסיסמא נכונים זה עושה שגיאה וכותב
Microsoft JET Database Engine error '80040e07'
Data type mismatch in criteria expression.
/DeWizard/zip/DeWizard.asp, line 61
את שורה 61 אתה יכול לראות בהודעה הקודמת שלי
תבדוק את סוגי השדות
משמעות השגיאה שלא הגדרת תווים מתאימים לכל סוג שדה.
למשל עבור שדה מסוג טקסט צריך להיות גרש משני צדדיו וכו'.
לא הבנתי אותך…תראה את הטופס
זה הטופס:
<FORM METHOD=POST ACTION="DeWizard.asp">
<p align="center"><font color="#FFFFFF">שם משתמש:<br>
</font>
<INPUT TYPE="text" NAME="login" size="10"><p align="center">
<font color="#FFFFFF">סיסמא:<br>
</font>
<INPUT TYPE="text" NAME="pass" size="10"></p>
</p>
<p align="center">
<INPUT TYPE="submit" value="כניסה" name="sumbit"><br>
אין קשר לטופס
אתה צריך לדעת מה אתה כותב.
זה מראה ש…
זה מראה שהבעיה היא בשורה 61…אבל אני לא רואה שם שום בעיה..
———–> שרשור מחדש
תבדוק שהשדות login,pass הם מסוג טקסט.
כן הם מסוג טקסט
הם מסוג טקסט
אוקי
נסה להדפיס את השאילתה במקום לבצעה ותראה כאן את הפלט כקוד.
לא הבנתי
מה הכוונה???
מה הכוונה להדפיס? תן דוגמא..
response.write SQL
לא הבנתי אותך…אולי כי אני חדש
חדש בתחום ה ASP
אמממ…יש דרך אחרת??
אתה יכול לתת לי את זה כחלק מקוד??או משהו?
אוקי
כשאתה נתקל בשגיאה בשאילתה שאתה מנסה לבצע אז פשוט תדפיס אותה במקום לנסות לבצעה.
במקום השורה
rs.Open SQL, Conn
פשוט תכתוב
Response.Write SQL,
כמובן שהקוד הוא לדוגמא וכשאתה מדפיס תדאג שאתה מדפיס את המשתנה הנכון.
ככה נוכל לראות את השאילתה שאתה מנסה לבצע ולראות אם קיימות בעיות.
אז צריך לרשום ככה?
Response. SQL, Conn
??
זה מה שאני מקבל
Microsoft VBScript runtime error '800a01c2'
Wrong number of arguments or invalid property assignment: 'Write'
/DeWizard/zip/DeWizard.asp, line 61
אתה לא יודע מה אתה כותב
מצטער אבל אי אפשר לעזור לך כאשר אינך יודע מה אתה כותב.
הדיון ארוך מדי ועל כלום.
אין יותר במה להמשיך.
נו בבקשה בנאדם עשיתי מה שאמרתה לי
אמרתה לי לכתוב ולהגיד לך מה אני מקבל אז עשיתי…אז למה אתה לא יכול לעזור לי יותר?
אתה מתכוון ככה?
ככה.?
<%Response.Write(SQLstr)%>
זה מה שאני מקבל
SELECT id,login,pass FROM Users WHERE login='1' AND pass='1'
אתה בטוח שהם מסוג טקסט ???
אין סיבה אחרת לשגיאה.
אני בטוח ואפילו הוכחה
|קוד|
<INPUT TYPE="text" NAME="login" size="10"><p align="center">
<font color="#FFFFFF">סיסמא:<br>
</font>
<INPUT TYPE="text" NAME="pass" size="10"></p>
</p>
הבעיה יכול להיות גם..
במשתנה conn??
עשיתי
<%Response.Write(conn)%>
ועכשיו גם שאני מכניס פרטים שגויים הוא נותן לי הודעה כזאת
Microsoft JET Database Engine error '80040e07'
Data type mismatch in criteria expression.
/DeWizard/zip/DeWizard.asp, line 61
אני חושב מצאתי את הבעיה…תראה
Response object error 'ASP 0185 : 80020003'
Missing Default Property
/DeWizard/zip/DeWizard.asp, line 0
A default property was not found for the object.
נגמר
אתה אפילו לא יודע על מה אני מדבר.
אי אפשר לעזור לך יותר.
מצטער מאוד אבל אני סיימתי.
מההה??
למה לא יודע על מה אתה מדבר..?!?
אני עושה מה שאתה מסביר לי..!
אההההה
הבנתי אותך אתה צודק…!!
לבדוק אם הם מסוג טקסט בדאטא בייס הבנתי..
תודה תודה תודה …אחי זה עובד!!
עובד חלקלק …תודה לך…לא הייתי מרוכז קודם בגלל זה לא הבנתי אותך טוב…
פעם הבאה תהיה מרוכז
כי אי אפשר להמשיך כך ובכלל, זה מבזבז מלא זמן.
יש לי את הקוד הבא..איך..
יש לי את הקוד הבא:
<%
Response.Write "<center><FONT COLOR='white'>"
Response.write "ברוך הבא</FONT></center> & session("login") "
%>
איך אני עושה שגם המשתנה שבsession יהיה בצבע לבן וממורכז?
הקוד בצורה יותר נעימה לעין
<%
Response.Write "<center><FONT COLOR='white'>"
Response.write "ברוך הבא</FONT></center> & session("login") "
%>
מספר דברים
1. למה לא שירשרת הודעתך??
2. אתה לא יודע לשרשר משתנים?
<%
Response.Write "<center><FONT COLOR='white'>"
Response.write "ברוך הבא "&session("login")&"</FONT></center>"
%>
תודה אחי
תודה …אני חדש בעסק…לומדים לאט לאט …
וואלה גם לי יש בעיה בשירשור משתנים
וכל שאר הדומים לזה
יש איזשהו מאמר או שתסביר עכשיו …….
פרט איזו בעיה ואעזור לך