505
צפיות
צפיות
6
תשובות
תשובות
בעיה בעוגיות – תענו דחוף!
אני בונה באתר החדש שלי מערכת כניסות+הרשמה…..
עכשיו הכול עובד בקוד חוץ מדבר אחד…
והוא, כשאני רוצה להציג את שם המשתמש שנכנס אצלי לאתר אני לא מצליח!
הוא נותן לי רק את השם הראשון שמופיע באקסס!! מה לא טוב בקוד??
(אני חושב שזה הבעיה בעוגיות!!)
<%
if request.cookies("userb")<>"" then
response.write "<a href=register.asp>הרשם</a>l<a href=log.asp>התחבר</a>"
response.end
else
set c=server.createobject("adodb.connection")
c.open "dsn=DSN_bananai;"
set r=server.createobject("adodb.recordset")
r.activeconnection=c
r.open "select * from phoneu"
response.write "[משתמש מחובר] <b>" &r.fields("user") &"</b>"
response.write "<div align=left><a href=test8.asp>התנתק</a></div>"
end if
%>
בבקשה תענו מהר!!
6 תשובות
קודם כל, דחוף כותבים על דלתות.
לא בפורומים.
הודעה נוספת ממך המכילה את המילה את המילה "דחוף" תמחק ללא אזהרה נוספת.
לגבי השאלה עצמה, השאילתה שלך בוחרת את כל הרשומות בטבלה phoneu, אבל ללא שום תנאי – אתה אמור להתנות את השאילתה ככה שתבחר רק את המשתמש שמחובר כעת. (בעזרת שימוש ב WHERE, כמובן.)
דבר אחרון, תעשה טובה לפורום ולאנושות ותרגיע עם כל סימני הקריאה האלו, זה מעצבן בעיניים.
כמה תשובות עבורך זהר…
א) את המילה "דחוף" אני כבר לא יוסיף
ב) אני ירגע עם סימני הקריאה…
ג) תגיד לי עם הקוד הזה נכון…
<%
if request.cookies("userb")<>"" then
response.write "<a href=register.asp>הרשם</a>l<a href=log.asp>התחבר</a>"
response.end
else
set c=server.createobject("adodb.connection")
c.open "dsn=DSN_bananai;"
set r=server.createobject("adodb.recordset")
r.activeconnection=c
r.open "select * from phoneu where='" &r.fields("user") &"'"
response.write "[משתמש מחובר] <b>" &r.fields("user") &"</b>"
response.write "<div align=left><a href=test8.asp>התנתק</a></div>"
end if
%>
תודה מראש!
אז ככה:
לגבי א ו ב, סבבה.
לגבי הקוד, הוא לא רק לא נכון, הוא גם חסר הגיון – איך בדיוק אתה מצפה להשתמש בנתון מתוך recordset שעדיין לא פתחת?
תיקון עקרוני לקוד שלך:
<%
if request.cookies("userb")<>"" then
response.write "<a href=register.asp>הרשם</a>l<a href=log.asp>התחבר</a>"
response.end
else
set c=server.createobject("adodb.connection")
c.open "dsn=DSN_bananai;"
set r=server.createobject("adodb.recordset")
r.activeconnection=c
r.open "select * from phoneu where user = '" &request.cookies("userb") &"'"
response.write "[משתמש מחובר] <b>" &r.fields("user") &"</b>"
response.write "<div align=left><a href=test8.asp>התנתק</a></div>"
end if
%>
שים לב: אני יוצא מנקודת הנחה שהמידע ששמור ב userb בעוגיה הוא שם המשתמש.
לא
הUSERB הוא לבדיקה שאכן המשתמש התחבר ואכן נשתלה אצלו העוגיה שצריכה לזהות האם הוא הוא נכנס לדף מסויים כמשתמש רשום….
יש לך פתרון אחר אחי?
אולי עוד משהו רוצה לעזור?
לא פתרון אחר, אלא שיפור לפתרון…
תראה, המטרה של שתילת עוגיה אצל משתמש שנרשם היא כדי שהאתר יזהה אותו ללא צורך ב log in – בדיוק כמו כאן בפורום – הזיהוי שלך כ "אבי נימני" מתבצע ע"י עוגיה שמערכת ההרשמה שתלה אצלך במחשב, ולכן אתה לא חייב לבצע log in בכל פעם שאתה נכנס לפורום.
כל מה שאתה צריך לעשות כדי לפתור את הבעיה שלך, הוא להוסיף לעוגיה שאתה כבר שותל עוד ערך, שיכיל את שם המשתמש, ואז הפתרון שהצעתי לך יעבוד יופי.
(כמובן שצריך לשנות שם את ההתייחסות ל userb שבעוגיה לשם של המשתנה שיכיל את שם המשתמש) .
בהצלחה!