שלח תשובה

זירת השאלות

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

שאלה

,‏ 10 באוקטובר, 2004

אני בניתי תיבת הודעות שהמשתמשים באתר יוכלו לישלוח הודעות בניהם.
בתיבת הדואר עשיתי שכל הודעה ששולחים יהיה כתוב את הנושא,המוען,תאריך הקבלה של ההודעה ומחיקה של ההודעה.
ועד כאן הכל פועל.
עכשיו אני עשיתי שלוחצים על הנושא נגיד והנושא הוא "ככה וכהה" שלוחצים על הנושא אז קופץ חלון פופאפ שבו מוצגים נושא ההודעה, תוכנה של ההודעה, המוען, התמונה של המוען, תאריך קבלת.
ועכשיו עיתי שבדף זה יראה את כל הפונקציות האלה אבל הבעיה  שתמיד זה מראה לי תמיד את הפונקציות האלה רק של ההודעה החדשה שמיתקבלת למשל ההודעה שאני רוצה ליראות את התוכן שלה ומעלה יש יש עוד הודעה אז זה יראה לי את התוכן ואת הפונקציות של ההודעה הראשונה את הפונקציות של ההודעה החדשה שיתקבלה.
למה זה?
מה ניתן לעשות?
אולי צריך להוסיף עוד קטע קוד קטן לקוד שכתבתי שיגיד שההודעה תיקח את הפונקציות שלה מהID של ההודעה הצפציפית?

תגיות:

14 תשובות

  1. BuildHome הגיב:

    מה השאילתה שלך?
    קוד רלוונטי?
    אתה שמת בשאילתה WHERE של ID ההודעה?

  2. somebody הגיב:

    עדיין לא סידרו לי את האינטרנט..
    אז אין לי אך להביא את הקוד.
    אבל חשבתי אולי אני יכל לעשות תגידו לי עם זה נכון בבקשה.
    בsql ליכתוב:


    sql="select messeg,subjact,username,messagedate,userimg from messages where id="& id &""

    זה נכון?
    ואני לא יודע איך אני הקבע אך יהיה הID שזה יחפש בו?
    למשל הקישור שניכנסים אליו ההקישור ככה כתבתי a href="message.asp=message?=("ID").
    וזה פועל יפה (אני חא בטוח שכתבתי ככה אבל זה פועל).
    אין אני עושה שבדף שכאן הוא לדוגמא message.asp ידעה שה-ID שמימנו הוא צריך לקחת את הדברים האלו הוא הID הנילחץ?

  3. BuildHome הגיב:

    השאילתה שלך
    צריכה להיות כזאת (בלי הסוף אחרי ה-ID):
    sql="select messeg,subjact,username,messagedate,userimg from messages where id="& Request.QueryString("ID")

    אתה צריך לדעת זאת (קרא במדריך ASP).

  4. ועדיף גם להשתמש ב clnt….
    כך:
    sql="select messeg,subjact,username,messagedate,userimg from messages where id="& clnt(Request.QueryString("ID"))

  5. אוריקס הגיב:

    אין קשר…
    הוא מוסיף מחרוזת ריקה, וזה מותר לו.

  6. אוריקס הגיב:

    לא,
    כי ה datatype לא משנה, הרי זה משורשר למחרוזת…

  7. אוריקס הגיב:

    יכול להיות ש username היא מילה
    שמורה, נסה להקיפה בסוגריים מרובעים

  8. ניר טייב הגיב:

    אוריקס.. אבטחה
    אם לא נעשה cint אז יהיה אפשר להכניס מחרוזת SQL
    SQL INJECTION בקיצור

  9. אוריקס הגיב:

    את זה נהוג לבדוק
    בנפרד לפני השרשור למחרוזת… זה פשוט תכנון הרבה יותר נכון.

  10. ניר טייב הגיב:

    נכון אבל במקרה הזה לא נבדק
    זה שזה תכנון לא נון זה לא אומר שלא צריך להגן מ-SQL INJECTION.

    בכל מקרה גם אני בעד תכנון נכון ולא שרשור ישיר.

  11. somebody הגיב:

    לא משנה בכל מיקרה אף אחד לא רואה..
    את זה..

    הצלחתי לבסוף!..
    עשיתי את זה קצת אחרת לא ממש כתבתי ככה אבל זה הצליח!
    תודה לכל מי שניסה לעזור!.

  12. somebody הגיב:

    שאלה לי!
    עשיתי מערכת מישתמשים ובעמוד הראשון של המימשק משתמש אני רוצה שיהיה כתוב את המשתמש החדש ביותר.
    עשיתי את הקוד זה:


    sql = "SELECT max (namber) From Users"

    אני יודע שבנתיים זה לא יביא לי את השם משתמש אלה את המספר שלו כי עדיין לא סימתי את הקוד אבל שבדקתי זה נתן לי שהמשתמש המקסימלי המספר שלו זה 1 ואז בדקתי האקסס עם זה נכון ובאקסס זה כתב שהמישתמש המקסימלי הוא 7 (רשמתי את עצמי 7 פעמים כדי ליבדוק וזה כתב נכון שהמשתמש החדש ביותר הוא משתמש 7).
    מישהו אולי יודע למה בדף זה כותב 1?

שלח תשובה