פורסם 2007 ביוני 718 שנים אז ככה, יש לי את הטופס התחברות שהולך לקובץ ASP שבודק במסד נתונים אם הנתונים הם של אדמין או משתמש רגיל, הנה הקוד:<% set oConn=Server.CreateObject("ADODB.Connection") oConn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("Forum.mdb") memberName=request.Form("memberName") password=request.Form("password") sqlStrInsert="select * FROM forumAdmins WHERE (memberName='"+memberName+"' AND password='"+password+"')" set Admin=oConn.Execute(sqlStrInsert) if Admin.EOF then sqlStrInsert="select * FROM forumMembers WHERE (memberName='"+memberName+"' AND password='"+password+"')" set clubUser=oConn.Execute(sqlStrInsert) if clubUser.EOF THEN Response.Redirect("loginError.asp") else session("user")=true session("memberName")=clubUser.fields("memberName") session("password")=password response.Redirect("forum.asp") end if else session("admin")=true session("memberName")=Admin.fields("memberName") session("password")=password response.Redirect("forum.asp") end if clubUser.Close Manager.Close oConn.Close %>עכשיו בדף הראשי יש לי את הקטע הזה שאמור לעשות את כל הקטע של ברוך הבא וזה, אבל הבעיה היא שאצל כמה אנשים שבדקתי שאני מכניס את השם משתמש ותסיסמא ונשלח לדף הראשי אני לא רואה שרשום ברוך הבא אלא אני נשלח לדף הראשי כאילו לא התחברתי בכלל, אין לי מושג למה זה קורה. הנה הקוד שבדף הראשי:<% if ((session("user")=false) and (session("admin")=false)) then response.Write "<b><font color='#113c6b' style='font-family: Arial; font-size: 11px;'>ברוך הבא: אורח</font></b><br />" response.Write "<font color='#113c6b' style='font-family: Arial; font-size: 11px;'>אפשרויות אורח ( <a href='login.asp'>התחבר</a> | <a href='registerationForm.asp'>הירשם</a> )</font>" end if if session("user")=true then memberName=session("memberName") set oConn=server.createobject("adodb.connection") oConn.open("DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Forum")) 'set sqlSelect=server.createobject("adodb.recordset") 'sqlSelect.activeconnection=oConn sqlInsert="select * from forumMembers WHERE (memberName='"+memberName+"')" Set sqlSelect=oConn.Execute(sqlInsert) Response.Write "<b><font color='#113c6b' style='font-family: Arial; font-size: 11px;'>ברוך הבא, "+sqlSelect.fields ("firstName")+"</font></b>" response.Write("<br />") response.Write "<font color='#113c6b' style='font-family: Arial; font-size: 11px;'>אפשרויות משתמש ( <a href='memeberOptions.asp'>אפשרויות משתמש</a> | <a href='memberLogout.asp'>התנתקות</a> )</font>" end if if session("admin")=true then memberName=session("memberName") set oConn=server.createobject("adodb.connection") oConn.open("DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Forum")) 'set sqlSelect=server.createobject("adodb.recordset") 'sqlSelect.activeconnection=oConn sqlInsert="select * from forumAdmins WHERE (memberName='"+memberName+"')" Set sqlSelect=oConn.Execute(sqlInsert) Response.Write "<b><font color='#113c6b' style='font-family: Arial; font-size: 11px;'>ברוך הבא, "+sqlSelect.fields ("firstName")+"</font></b>" response.Write("<br />") response.Write "<font color='#113c6b' style='font-family: Arial; font-size: 11px;'>אפשרויות מנהל ( <a href='adminOptions.asp'>אפשרויות משתמש</a> | <a href='adminLogout.asp'>התנתקות</a> )</font>" end if %>
פורסם 2007 ביוני 818 שנים 1) תשמור בSESSION סטרינגים, לא בולאנים(יכול להיות שזו הבעיה).2) כדאי לך ליצור טבלה אחת של משתמשים, ובטבלה הזו יהייה שדה שמציין אם המשתמש הוא מנהל.3) את אובייקט החיבור שלך כדאי לך להגדיר בראש הדף, ולא באחד הIFים.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.