צפיות
תשובות
בעייה משונה ביותר
בילד עזר לי לבנות פופ אפ שמוחק כמה סיישנים כתוב "נותקת מהמערכת" סוגר את עצמו ומרענן את הדף שיצר אותו
כאן באה הבעיה —> לפעמים הוא עובד ולפעמים לא….
לפני שבוע ככה סיימתי אותו והוא פעל יופי אחרי כמה ימים הוא לא פעל(קפץ אבל לא מחק את הסיישנים)
אתמול שוב ניסיתי להפעיל אותו והוא פעל יפה מאוד
היום שוב ניסיתי להפעיל והוא לא מוחק את הסיישנים ….. (כלומר לא פועל)
איך זה אפשרי ?
הנה הקוד
function logout(){
window.open("/logoff.asp","opener","height=100 , width=300");
}
קישור::
<A HREF="javascript:logout();" >התנתק</A>
דף הפופ אפ::
<%
Session("Login")=""
Session("Logged")=false
Session("Admin")=false
%>
<CENTER><B>נותקת מן המערכת </B><BR>
<script type="text/javascript">
setTimeout("self.close()",3000);
setTimeout("opener.location.reload()",3000);
</script>
ועוד משהו ה SPAN שהציעו לי בתפוז(פורום 130) לא פעל
תודה רבה ומצטער שזה כל כך ארוך נועם צברי
29 תשובות
יכול להיות שהדף נטען מה chache
[או איך שלא כותבים את זה]
נסה לשים את זה בראש שני הדפים…
Response.CacheControl = "Public"
זה של ASP ?
לא ראיתי את זה במדריך ה-ASP…
עדיין אותו דבר
קופץ אבל לא מוחק את הסיישנים
משונה
ויש לי עוד שאלה (אבל אל תתעלמו מהראשונה היא חשובה גם)
יש לי את הJOIN הזה עכשיו הוא מוציא לי את השם משתמש לפי הAUTHER
ויופי הכול פועל רק שזה מוציא לי את השם משתמש ואני שהוא יביא לי את ה ID של הכתב (זה למערכת כתבות)
הנה הקוד
rs.open "select top 5 news.ID, news.Date, news.Story, news.Auther, news.Subject from news INNER JOIN Users ON Users.Nick = news.Auther order by news.ID ASC , news.DATE DESC",conn,3,3
תודה רבה נועם צברי
כן, ASP
ויש מקרים שזה אפילו .
המממ
1. בעניין ה sessionים נסה לשים:
Response.Expires = 0
בראש שני הדפים.
2. לא הבנתי את השאלה על ה JOIN
עדיין לא פועל…….
ממש משונה (עזבו לא משנה אני אעשה את זה בדף נפרד רגיל)
לגבי ה JOIN בניתי מערכת כתבות שליד שם הכתבה מופיע שם המשתמש שרשם אותה
אז לפני ה JOIN זה היה מוציא לי את השם משתמש הראשון לכתבה הראשונה
ועכשיו אחרי ה JOIN זה מוציא את השם משתמש המתאים אבל זה עדיין מביא לי
את השם משתמש ואני צריך את ה ID של השם משתמש הספציפי הזה ….
הבנתם ?
ואני צריך את זה גם למערכת פורומים ….
עכשיו ניסיתי לעשות USERS.ID=NEWS.AUTHER והציג לי שגיאה של TYPE MISMATCH (ואני מבין למה, כי השם משתמש הוא שם וה ID הוא מספר)
אז כיצד אפשר לעשות את זה ?
תודה מראש נועם צברי
ועוד בעניין ה sessionים
נסה לשים את זה בראש שני הדפים
Response.CacheControl = "No-cache"
גם אחרי ה NO CHACH
(חחח רשמנו באותו זמן)
לא עובד… אבל כבר אמרתי אני אעשה את זה בדף נפרד
תודה בכל מקרה
ולגבי השאלה על ה JOIN סתכל בהודעה הקודמת שלי
תודה נועם צברי
תודה רבה
מישהו??
עזרה לגבי ה JOIN
פה לא מקפיצים אחרי זמן כ"כ קצר.
תשמע….
אם זה בניגוד לחוקים אז בכיף אני מצטער
אבל לפחות תנסה לעזור בשאלת ה JOIN
תודה רבה נועם צברי
תשובה
שומרים את ID המשתמש ואז שולפים את שם המשתמש לפי אותו ID.
למה להשתמש בשדה טקסט כשאפשר לייעל ולהשתמש בשדה מספר?
מצטער על הבורות …
אבל לא הבנתי…(יותר נכון הבנתי חלקית)
אני אמור קודם כל לשלוף את ה ID ואז לפי ה ID לשלוף את השם משתמש
אבל לא הבנתי איך ליישם
הנה הקוד העכשיו (אינו מציג שגיאה)
rs.open "select top 5 news.ID, news.Date, news.Story, news.Auther, news.Subject from news INNER JOIN Users ON Users.Nick = news.Auther order by news.ID ASC , news.DATE DESC",conn,3,3
תודה רבה מראש נועם צברי
תשובה
1. אתה שם בשדה Auther שלך את ID המשתמש (שדה מספר) ולא את שם המשתמש.
2. אתה צריך להשתמש בשאילתה כזו:
rs.open "select top 5 news.ID, news.Date, news.Story, news.Auther, news.Subject,users.nick from news INNER JOIN Users ON Users.ID=news.Auther order by news.ID ASC , news.DATE DESC",conn,3,3
rs("nick")
עוד דבר
תריץ את השאילתה הנ"ל (רק שאילתה) באקסס ותראה את התוצאה המתקבלת ותדע כיצד להשתמש בתוצאה ותבין יותר כיצד היא מתבצעת.
תגיד…
אי אפשר פשוט להריץ אותה במסד כשאילתה וברמת הקוד רק לשלוף את המידע ?
כי היא עושה לי בעיות שיניתי את סוג התא למספר ושם רשמתי את המספרים של הכתבים
עכשיו ה ID יוצא בסדר אבל השם משתמש לא !
אז האם אפשר(להריץ במסד ורק לקרוא לה ברמת הקוד)?
אין סיבה שהתוצאה של השם משתמש לא
תהיה תקינה (אלא אם כן הקוד שלך לא תקין).
אתה צריך ללמוד על סוגי ה-JOIN.
מה אני אגיד לך ….
אולי באמת טעיתי הנה הקוד שרשמתי
(השגיאה בשורה הזאת)
rs.open "select top 5 news.ID, news.Date, news.Story, news.Auther, news.Subject,users.nick from News INNER JOIN Users ON Users.ID=news.Auther order by news.ID ASC , news.DATE DESC",conn,3,3
והנה השגיאה
Microsoft JET Database Engine (0x80040E10)
No value given for one or more required parameters.
וככה נראה הקישור לפרטי המשתמש
<A HREF="/User_DT.asp?ID=<%=news_arr(3,i)%>"><%=news_arr(5,i)%></A>
תודה רבה מראש נועם צברי
השגיאה
אומרת שאתה מנסה לשלוף בשאילתה שדה אשר לא קיים.
תבדוק את העניין עם השדה nick (אם הוא קיים) ותראה אם אתה מקבל תוצאה כאשר אתה מריץ את השאילתה באקסס.
תשובה
אחרי ה- users תשנה את הנקודה לפסיק
איפה? SILAGY
ולבילד הרצתי את את הקוד האקסס ובוא ביקש ממני מספר והקשתי לו 1
והציג לי גם את הרשומה השנייה והניק יצא בשניהם ADMIN כלומר זה עובד
אבל לא עובד…
צירפח תמונה כולל הסברים…
בעניין ה-Sessionים…
אולי תנסה לשים את הקוד הזה, בתחילת העמוד:
<%session.contents.removeall() %>
כמובן אחרי ה- Response.Expires…
תנסה, ותראה אם זה יעזור,
כעיקרון, זה אמור למחוק את כל הסיישנים.
בהצלחה,
חגי.
תראה
השאילתה תקינה לחלוטין. אפילו אתה צריך לדעת זאת.
תבדוק בטבלאות שלך אם הנתונים הפוכים או משהו שיכול לגרום לבעיה.
עדיין לא פועל עניין הסיישנים
ובקשר לJOIN חשבתי על דרך יותר טובה כמו אצל איציק
שאני בודק אם זה מספרי אז כן אני פונה לשאילתה שבודקת את ID
ואם זה שם אני פונה לשאילתה שבודקת את השם
אז את העניין הזה סגרנו עכשיו הבעיה היחידה היא עניין הסיישנים….
נראה לי בגלל שהוא POPUP אז הוא לא עושה את הוראות ה ASP
יכול להיות ?
תודה רבה נועם צברי
(תודה רבה לבילד שעזר לי)
אוי איך אני בודק בכלל
אם הוא מספרי או אותיות
כי ניסיתי אבל לא פעל הנה הקוד
if cint(request.querystring("ID")) then
User_ID=cint(request.querystring("ID"))
call Num(User_ID)
elseif Cstr(request.querystring("ID"))
User_Name=Cstr(request.querystring("ID"))
call Name(User_Name)
End IF
או איך אני בודק אם קראתי לו ב ID או ב UID ? (בשורת הכתובת)
יכול להיות..
למה דווקא פופ-אפ?
תנסה בדף רגיל לעשות את מה שאמרתי לך…
ותראה אם הבעיה היא באמת בפופ-אפ, או בסיישנים…
בהצלחה,
ושבת שלום,
חגי.
כבר אמרתי את זה…
בהודעות הראשונות (כנראה שלא ראית)
שכאשר אני פותח את הדף רגיל הוא מוחק אותם יפה מאוד
אבל בפופ אפ זה לא מוחק…..
גילוי משמעותי……
זה פועל יפה מאוד במוזילה פיירפוקס
אבל זה לא מרענן את הדף שיצר את הפופ אפ