שלח תשובה

זירת השאלות

322
צפיות
25
תשובות

סימני שאלה במייל

,‏ 14 ביולי, 2004

אני שולח מייל עם האובייקט Persits.MailSender.

המייל מורכב מנתונים שהוצאתי מבסיס הנתונים כגון שם המוצר, מחיר וצבע ומנתונים שאספתי מהדף הקודם (טופס המבקש פרטים).

מה שמוזר הוא שהנתונים שאני שולף מבסיס הנתונים נראים ללא בעייה אבל הנתונים שאני מבקש מהטופס שבדף הקודם מגיעים כסימני שאלה למעט הספרות.

מה זה יכול להיות?
אני נואש

תודה –
פפר

תגיות:

25 תשובות

  1. BuildHome הגיב:

    אולי זה יעזור
    ראשית כל, תכתוב את זה בראשית העמוד:

    <%@language="VBSCRIPT" CODEPAGE="1255"%>

    עכשיו, שאתה שולח דואר אז תוסיף את זה לפני השליחה (תשנה לשם האובייקט שיצרת):

    Mail.CharSet = "windows-1255"

    אולי יעזור לך.

  2. mynameispepper הגיב:

    העלאת תמונה ושינוי השם שלה…
    יש לי קומפוננט להעלאת תמונה ( AspUpload ו AspJpeg) ואני רוצה לשנות את שם התמונה שיהיה מספר (ה ID של התמונה).

    איך עושים את זה?

    תודה –
    פפר

  3. BuildHome הגיב:

    גם פשוט

    FileName = File.FileName
    NewFileName = ID & File.Ext

    לאחר מכן אתה שומר את הקובץ בנתיב הרצוי.

  4. mynameispepper הגיב:

    לא עובד לי…
    הנה הקוד:


    Set Upload = Server.CreateObject("Persits.Upload")
    Upload.OverwriteFiles = False
    Upload.SetMaxSize 3000000, True

    On Error Resume Next
    Count = Upload.Save("D:usersUploads")

    If Err <> 0 or Count = 0 Then
        If Err <> 0 Then
            Response.Write "An error occurred: " & Err.Description
        Else
            Response.Write "Nothing has been uploaded."
        End If
    Else
        On Error Goto 0
        Set File = Upload.Files(1)
        If File.ImageType = "UNKNOWN" Then
            File.Delete
            Response.Write "<font color=#ff0000>This is not a valid image file.</font><br><a href=1.asp>Try again</a>."
        Else
            newHeight = 100
            Height = File.ImageHeight
            Width = File.ImageWidth
            Set Jpeg = Server.CreateObject("Persits.Jpeg")
            Path = Server.MapPath("../Uploads/") & "/" & File.ExtractFileName

            Jpeg.Open Path
            Jpeg.Height = newHeight
            Jpeg.Width = Width * newHeight / Height
            Jpeg.Save Path
        End If
    End If

    ניסיתי אבל אני לא בטוח איפה לשים את השורות שנתת לי…

    תודה –
    פפר

  5. mynameispepper הגיב:

    שאלה לגבי JOIN
    יש לי טבלת מוצרים שיש בה גם עמודה אחת שמכילה את ה ID של החברה.

    אני רוצה להראות את המוצר אבל גם להראות את שם החברה שהמוצר שייך אליה.
    הנה הקוד שלי:


    SQL = "SELECT * FROM Products INNER JOIN Companies ON Products.companyId = Companies.id"

    זה לא מראה לי שגיאה אבל מפה אני תקוע!
    אני לא יודע איך לשלוף את שם החברה עכשיו…
    מה עושים?

    תודה –
    פפר

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

    המנה:


    SQL = "SELECT Products.*,Companies.* FROM Products INNER JOIN Companies ON Products.companyId = Companies.id"

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

    נסה את זה:


    Count = Upload.SaveAs("D:usersUploadsXXX.YYY")

  8. mynameispepper הגיב:

    ואיך ייראה ה RS?
    אם אני צריך את ה ID של 2 הטבלאות למשל?

  9. BuildHome הגיב:

    אם מה שאוריקס כתב לא יעבוד נסה זאת
    זה משהו קצת ארוך כך שאולי עדיף לך מה שאוריקס כתב.
    במידה ולא יעבוד או משהו כזה אתה יכול לנסות את זה (פשוט כבר כתבתי את זה..):

    אני מניח שאתה מעלה קובץ בודד ולכן אין צורך בשורה עם ה-Count.
    עליך לשמור את הקובץ באופן וירטואלי בשרת ורק לאחר שינוי שמו לשמור באופן פיזי בשרת.
    תעשה דבר כזה:

    Upload.SaveVirtual "D:usersUploads"
    NewFileName = ID & Upload.Files(1).Ext
    Upload.Files(1).CopyVirtual "D:usersUploads" & NewFileName
    Upload.Files(1).Delete

    הסבר קצר:
    בשורה הראשונה הקובץ נשמר באופן וירטואלי. בשורה השניה אני מציב במקום שם הקובץ את מספר ה-ID ומוסיף לו את סיומת הקובץ (למשל: .jpg, .gif).
    בשורה השלישית והרביעית אני מעתיק את הקובץ ששמרתי באופן וירטואלי לנתיב הנכון בצירוף שם הקובץ כמובן ובשורה הרביעית אני מוחק את הקובץ המקורי שנשמר באופן וירטואלי.

    עכשיו, בקוד שלך יש את השורה:

    Set File = Upload.Files(1)

    מאחר ושם הקובץ השתנה אז אתה צריך להציב בו את נתיב הקובץ המלא.

    Set File = "D:usersUploads" & NewFileName

    בנוסף, יש לך את השורה הבאה:

    Path = Server.MapPath("../Uploads/") & "/" & File.ExtractFileName

    אתה צריך לשנות זאת לנתיב הקובץ המלא, כפי שציינתי כבר.

    Path = "D:usersUploads" & NewFileName

    עדיף לך להציב את הנתיב המלא + שם הקובץ כך שתוכל לשנות פעם אחת את הנתיב ולא בכל שורה שבקוד שלך.

    מקווה שיעבוד לך ושלא פיספספתי משהו כאן.

  10. mynameispepper הגיב:

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

    מה עושים?

  11. mynameispepper הגיב:

    לצערי, זה לא עובד…
    שוב, אני לא מקבל הודעת שגיאה ושינתי את כל מה שרשמת אבל הסקריפט לא עובד בכלל.
    התמונה לא עולה וגם הנתונים לא נכנסים לבסיס הנתונים.
    מוזר, כאילו הוא לא מתייחס לשינויים.

    מה זה יכול להיות?

  12. BuildHome הגיב:

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

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

  13. mynameispepper הגיב:

    תחלופת באנרים…
    אני בונה מערכת באנרים והייתי רוצה ליצור מצב שבמקום אחד שיש בו באנרים אני יכול להעלות כמה באנרים והם יתחלפו לפי הסדר. זאת אומרת:
    באנר מספר אחד רץ פעם אחת ואז הבאנר השני נכנס ורץ פעם אחת וחוזר חלילה.

    איך אפשר לעשות את זה?

    תודה

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

    תעביר את זה לצד הלקוח
    תעביר את רשימת הבאנרים לסקריפט ב-JS ותשתמש ב-setTimeOut כדי לקרוא לפונקציה שתעשה את ההחלפה

    בהצלחה

  15. mynameispepper הגיב:

    ואיך הפונקצייה תדע אחרי כמה זמן…
    להחליף את הבאנר?

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

    אז תעשה מערך דו-מימדי
    ואז מימד אחד מייצג את הבאנר ומימד אחד מייצג את הזמן של הבאנר (הזמן יקבע על ידיך)
    ואז בפונקציה אתה פשוט מכניס לתג תמונה מסוים את ה-SRC של הבאנר
    וב-setTimeOut מכניס את הזמן של הבאנר

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

    הכוונה במימדים זה
    האיברים שבתת מערך

    var arr = [[banner src, time][banner src, time]…]

  18. דוגמא:

    <script language="JavaScript">
    var i
    i=1
    banner = new Image()
    banner[1].src = "1.gif"
    banner[2].src = "2.gif"
    banner[3].src = "3.gif"
    banner[4].src = "4.gif"
    banner[5].src = "5.gif"
    banner[6].src = "6.gif"
    function goBanner(){
      setInterval(‘animation’, 5000)
    }
    function anmation() {
    document.images[‘runner’].src = pic[i].src
    i +=1
    if (i>6) i = 1
    }
    </script>
    <body onload="goBanner()">
    <img name="runner" src="0.gif" border=0>

  19. תעלם ממה שכתבתי דיליתי טעות ענקקקקק

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

    כמה הארות/הערות
    1. הגדרת את המשתנה banner כתמונה אז איך פתאום הוא הפך למערך ?!
    2. ואם באנר אחד הוא יותר מ-5 שניות (למשל פלאשים למיניהם)
    3. שימוש בשם התמונה כ"אינדקס" במערך התמונות בעמוד (למיטב ידיעתי) עובד רק ב-IE – צריך להשתמש ב-getelementById במקרה הזה
    4. מאיפה הגיע פתאום המערך Pic ?
    5. אם מגדירים משתנה וישר שורה מתחת לזה מכניסים אליו ערך יהיה יותר מהיר כבר בהגדרתו להכניס אליו ערכים var i=1

    6. לא אמרתי להשתמש במערך דו-מימדי ?!
    7. בכוונה כתבתי להשתמש ב-setTimeOut כדי שיהיה אפשר לשנות את הזמן של הופעת הבאנר הבא
    8. המאפיין language של תג הסקריפט הוא deprectad (או איך שלא כותבים את זה) ז"א יצא משימוש

  21. mynameispepper הגיב:

    אלה לגבי SESSION
    יש לי מנוע חיפוש פשוט שמראה רשומות של תלמידים והפרטים עליהם.
    כדי להיכנס למערכת הזו התלמיד צריך להזין את כתובת המייל שלו.

    אני רוצה ליצור מצב שכאשר התלמיד צופה ברומות והרשומה שלו מופיעה בעמוד לידה יהיה כפתור "עדכן פרטים". משום מה אני לא מליח לעשות את זה.

    ניסיתי להשוות את שדה המייל עם ה SESSION של המשתמש (שזה גם המייל) אבל זה לא עובד. מה שאני מקבל זה את כפתור ה"עדכן פרטים" ליד כל רשומה של כל התלמידים.

    למישהו יש איזה רעיון איך לסדר את זה?

    תודה –
    פפר

שלח תשובה