524
צפיות
צפיות
25
תשובות
תשובות
סימני שאלה במייל
אני שולח מייל עם האובייקט Persits.MailSender.
המייל מורכב מנתונים שהוצאתי מבסיס הנתונים כגון שם המוצר, מחיר וצבע ומנתונים שאספתי מהדף הקודם (טופס המבקש פרטים).
מה שמוזר הוא שהנתונים שאני שולף מבסיס הנתונים נראים ללא בעייה אבל הנתונים שאני מבקש מהטופס שבדף הקודם מגיעים כסימני שאלה למעט הספרות.
מה זה יכול להיות?
אני נואש
תודה –
פפר
25 תשובות
אולי זה יעזור
ראשית כל, תכתוב את זה בראשית העמוד:
<%@language="VBSCRIPT" CODEPAGE="1255"%>
עכשיו, שאתה שולח דואר אז תוסיף את זה לפני השליחה (תשנה לשם האובייקט שיצרת):
Mail.CharSet = "windows-1255"
אולי יעזור לך.
תיהיה בריא
העלאת תמונה ושינוי השם שלה…
יש לי קומפוננט להעלאת תמונה ( AspUpload ו AspJpeg) ואני רוצה לשנות את שם התמונה שיהיה מספר (ה ID של התמונה).
איך עושים את זה?
תודה –
פפר
גם פשוט
FileName = File.FileName
NewFileName = ID & File.Ext
לאחר מכן אתה שומר את הקובץ בנתיב הרצוי.
לא עובד לי…
הנה הקוד:
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
ניסיתי אבל אני לא בטוח איפה לשים את השורות שנתת לי…
תודה –
פפר
שאלה לגבי JOIN
יש לי טבלת מוצרים שיש בה גם עמודה אחת שמכילה את ה ID של החברה.
אני רוצה להראות את המוצר אבל גם להראות את שם החברה שהמוצר שייך אליה.
הנה הקוד שלי:
SQL = "SELECT * FROM Products INNER JOIN Companies ON Products.companyId = Companies.id"
זה לא מראה לי שגיאה אבל מפה אני תקוע!
אני לא יודע איך לשלוף את שם החברה עכשיו…
מה עושים?
תודה –
פפר
המנה:
SQL = "SELECT Products.*,Companies.* FROM Products INNER JOIN Companies ON Products.companyId = Companies.id"
נסה את זה:
Count = Upload.SaveAs("D:usersUploadsXXX.YYY")
ואיך ייראה ה RS?
אם אני צריך את ה ID של 2 הטבלאות למשל?
אם מה שאוריקס כתב לא יעבוד נסה זאת
זה משהו קצת ארוך כך שאולי עדיף לך מה שאוריקס כתב.
במידה ולא יעבוד או משהו כזה אתה יכול לנסות את זה (פשוט כבר כתבתי את זה..):
אני מניח שאתה מעלה קובץ בודד ולכן אין צורך בשורה עם ה-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
עדיף לך להציב את הנתיב המלא + שם הקובץ כך שתוכל לשנות פעם אחת את הנתיב ולא בכל שורה שבקוד שלך.
מקווה שיעבוד לך ושלא פיספספתי משהו כאן.
לא עובד…
אני לא מקבל הודעת שגיאה אבל כשאני שם את זה הסקריפט לא עובד בכלל.
התמונה לא עולה וגם הנותנים לא נכנסים לבסיס הנתונים.
מה עושים?
עובד, תודה!
לצערי, זה לא עובד…
שוב, אני לא מקבל הודעת שגיאה ושינתי את כל מה שרשמת אבל הסקריפט לא עובד בכלל.
התמונה לא עולה וגם הנתונים לא נכנסים לבסיס הנתונים.
מוזר, כאילו הוא לא מתייחס לשינויים.
מה זה יכול להיות?
תגיד לי..
אתה מחליף קבצים? נסה להדפיס סתם ערך מעפן כמו "בלההההה" ותראה אם מדפיס משהו.
אין סיבה שזה יתעלם מהשינויים מאחר ואין בקוד אשר מבצע את הפעולה משפט תנאי או משהו שיכול לגרום לשרת להתעלם מהקוד.
אני כתבתי את הקוד הזה והוא מבוסס על קוד שלי במערכת מסויימת שפיתחתי כך שהוא בהחלט עובד.
לא הייתי כותב קוד כזה אשר לא עובד בכלל.
אגב, כיצד נראה הקוד שלך כעת ?
תחלופת באנרים…
אני בונה מערכת באנרים והייתי רוצה ליצור מצב שבמקום אחד שיש בו באנרים אני יכול להעלות כמה באנרים והם יתחלפו לפי הסדר. זאת אומרת:
באנר מספר אחד רץ פעם אחת ואז הבאנר השני נכנס ורץ פעם אחת וחוזר חלילה.
איך אפשר לעשות את זה?
תודה
תעביר את זה לצד הלקוח
תעביר את רשימת הבאנרים לסקריפט ב-JS ותשתמש ב-setTimeOut כדי לקרוא לפונקציה שתעשה את ההחלפה
בהצלחה
ואיך הפונקצייה תדע אחרי כמה זמן…
להחליף את הבאנר?
אז תעשה מערך דו-מימדי
ואז מימד אחד מייצג את הבאנר ומימד אחד מייצג את הזמן של הבאנר (הזמן יקבע על ידיך)
ואז בפונקציה אתה פשוט מכניס לתג תמונה מסוים את ה-SRC של הבאנר
וב-setTimeOut מכניס את הזמן של הבאנר
הכוונה במימדים זה
האיברים שבתת מערך
var arr = [[banner src, time][banner src, time]…]
דוגמא:
<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>
תעלם ממה שכתבתי דיליתי טעות ענקקקקק
כמה הארות/הערות
1. הגדרת את המשתנה banner כתמונה אז איך פתאום הוא הפך למערך ?!
2. ואם באנר אחד הוא יותר מ-5 שניות (למשל פלאשים למיניהם)
3. שימוש בשם התמונה כ"אינדקס" במערך התמונות בעמוד (למיטב ידיעתי) עובד רק ב-IE – צריך להשתמש ב-getelementById במקרה הזה
4. מאיפה הגיע פתאום המערך Pic ?
5. אם מגדירים משתנה וישר שורה מתחת לזה מכניסים אליו ערך יהיה יותר מהיר כבר בהגדרתו להכניס אליו ערכים var i=1
6. לא אמרתי להשתמש במערך דו-מימדי ?!
7. בכוונה כתבתי להשתמש ב-setTimeOut כדי שיהיה אפשר לשנות את הזמן של הופעת הבאנר הבא
8. המאפיין language של תג הסקריפט הוא deprectad (או איך שלא כותבים את זה) ז"א יצא משימוש
תודה
אלה לגבי SESSION
יש לי מנוע חיפוש פשוט שמראה רשומות של תלמידים והפרטים עליהם.
כדי להיכנס למערכת הזו התלמיד צריך להזין את כתובת המייל שלו.
אני רוצה ליצור מצב שכאשר התלמיד צופה ברומות והרשומה שלו מופיעה בעמוד לידה יהיה כפתור "עדכן פרטים". משום מה אני לא מליח לעשות את זה.
ניסיתי להשוות את שדה המייל עם ה SESSION של המשתמש (שזה גם המייל) אבל זה לא עובד. מה שאני מקבל זה את כפתור ה"עדכן פרטים" ליד כל רשומה של כל התלמידים.
למישהו יש איזה רעיון איך לסדר את זה?
תודה –
פפר
תראה קוד.