וואלה
וואלה
וואלה
וואלה

וואלה האתר המוביל בישראל - עדכונים מסביב לשעון

שאלות ותשובות נפוצות - FAQ

27.7.2001 / 0:12

לקט שגיאות, בעיות, ושאלות נפוצות שנשאלות בפורום יחד עם הפתרון המומלץ - לשירותכם

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

|הדגש|
מקום אכסון - Hosting
|סיים|
השקעתם מאמצים בדף, אתר, או אפליקציה מסוימת וכעת הנכם מוכנים לחלוק אותה עם שאר העולם החופשי, אבל אינכם רוצים להשקיע, בנוסף לזמן ולמאמץ, את מיטב כספיכם ברכישת מקום אכסון. להלן רשימה חלקית של חמישה שרתי אכסון חינמיים עם תמיכה ב ASP (נכון לרגע כתיבת שורות אלה):
------
קודם כל מומלץ לבדוק את Dll.co.il - אתר ישראלי מצויין, אך לעיתים ישנן בעיות אלו או אחרות במערכת האכסון שלו (DLL City).

WebSamba
* נותנים: 30MB מקום אכסון, גישה ב FTP, בלי הגבלת רוחב פס, אפשרות להגדרת DSN, סטטיסטיקה לאתר, אוסף סקריפטים, חשבון דוא"ל.
* ציוד: שרת NT מריץ IIS4
* מחיר: חינם

DomainDLX
* נותנים: 15MB מקום אכסון (אפשרות להרחבה עד 40MB), גישה ב FTP, בלי הגבלת רוחב פס, 6MB תיבת דואל מבוסס WEB, מונה מבקרים, SSI, ASP3.0, תמיכה ברכיב ASPEMail, תמיכה באופיס 2000, תמיכה ב MS Access.
* ציוד: Windows 2000 מריץ IIS5
* מחיר: חינם

Brinkster (לשעבר eWebCity)
* נותנים: 30MB מקום אכסון, תמיכה ב MS Access, ניהול קבצים מבוסס WEB, תמיכה ב ADO & FileSystemObject, אין פרסומות.
* ציוד: NT
* מחיר: חינם

CFM-Resources.Com
* נותנים: 30MB מקום אכסון, הגדרת DSN, גישה ב FTP, תמיכה ב CFMAIL, תמיכה ב ColdFusion, תמיכה ב JAVA, תיבת דואל POP, סטטיסטיקת אתר,
* ציוד: NT מריץ IIS4
* מחיר: חינם

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

במסד נתונים SQL תמיד תמיד תמיד להגדיר כל שדה מסוג טקסט (text, char, word...) כשהאות n בתחילת שם הסוג (במקום text, לבחור ב-ntext). ההבדל הוא שהשדה text יכיל טקסט המותאם ל-Codepage המוגדר כברירת מחדל על שרת ה-SQL... מה שברב המקרים יהיה אנגלית(!!!). כשסוג השדה הוא ntext אז הטקסט הנקלט בשדה הזה מתורגם ל-Unicode (כל השפות, כל הסימנים) ונשמר כפי שנשלח למסד הנתונים. גם בצורה זו לא נפגעים אי אילו חיפושים ומיונים המורצים על השדות הנ"ל.

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

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

קוד1


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

קוד2

את השורה הנ"ל רצוי למקם בין תגי ה-HEAD.

וזהו.
אין יותר שאלות, אני מקווה.
-----

|הדגש|חלוקה לדפים|סיים|
סוגיה נוספת שרבים נתקלים בה, היא בעית החילוק לדפים כאשר יש מספר רב של רשומות שיש להציג למשתמש ולא רוצים "לשפוך" אליו את הכל בבת-אחת. igalr מסביר בהודעתו את השיטה לעשות זאת, והנה דבריו:
-----
מדי פעם בפעם יש צורך להציג רשומות רבות מתוך בסיס נתונים ומתעוררת בעיה כאשר מספר הרשומות הוא גדול מאוד .
שלוש הבעיות שמעוררת הן :
1) גודל דף הHTML שמקשה על הצפיה ע"י .
2) זמן טעינה ארוך של הדף .
3) סט רשומות צורך הרבה זכרון מהשרת .

הפתרון הוא חלוקה לדפים של הפלט .
מספר דברים שצריך לדעת :
rs.Pagesize=10
מטודה זו קובעת את גודל הדפים ל 10 רשומות .

Pcount=rs.PageCount
מאפיין זה מחזיר את מספר הדפים בסט רשומות .

rs.CacheSize=rs.PageSize
קובע את גודל הCACHE עבור הרשומות בזכרון .

rs.AbsolutePage=CurrentPage
מקפיץ את סט הרשומות לדף מסויים .
-----

|הדגש|עגלת קניות|סיים|
אתרים מבוססי ASP רבים נזקקים בשלב זה או אחר של "חייהם" למעיין "עגלת קניות", ושאלות רבות נשאלות בנושא זה. להלן תוכן הודעתו של igalr שמסביר את השיטות לתכנון ויישום של עגלת הקניות:
-----
דיי טחנו את נושא עגלות הקניה למיניהם
יש לפחות 3 גישות ליישום.
בגדול 3 גישות ליישום עגלת קניות :
DB+SESSIONID
SESSION
עוגיות

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

השיטה המועדפת עליי היא שילוב של SESSIONID וDB בשיטה זו נשמרים הפריטים וה SESSIONID בטבלה כך שניתן יהיה לזהות לאיזה משתמש שייך כל פריט .
המון יתרונות לשיטה מכל ההיבטים . פרט לעובדה שכשהלקוח התנתק בטרם הזיהוי לא ניתן לשחזר את העגלה (ניתן לפתרון אם זה ממש עקרוני) .
-----

|הדגש|ביצוע

0
walla_ssr_page_has_been_loaded_successfully