בולנט - דברים מיוחדים...     פרוטו - בניית אתרים

Israeli ASP Organization

ארגון ה-ASP הישראלי

מאמרים/דוגמאות קוד
קישורים
ספרות
חיפוש כללי:

חפש!
כלליHTMLASPASP.NETSQLמסדי נתוניםJavaScriptXML * XSLDHTML * CSSעיצוב וגרפיקהשרתיםComponentsפרסום ושיווקקידום אתריםקופירייטינגPHP
פרסומת
דף ראשי מדורים דרושים הרשמה למועדון אודותינו צור קשר
מיקום: מאמרים ודוגמאות קוד > ASP

בסיס ל-ASP

במאמר זה אני לא מסביר מה זה ‎ASP , למה כדאי לכם ללמוד ‎ASP או במה
ASP עדיף על שפות אחרות, בגלל שהאינטרנט מלא הסברים כאלה , אז בלי לבזבז זמן נתחיל.

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

התהליך מתבצע באופן הבא:
קריאה לשרת (לבקשת הדף) ->
השרת מחפש את הדף המבוקש, אם הדף הוא ‎HTML ממשיך.
אם מדובר בדף ‎ASP, הדף מורץ בשרת
מבצע את שורות הקוד ומחזיר דף ‎HTML ->
דף ה- ‎HTML מוחזר אל הדפדפן , שמתרגם אותו לדף שאנחנו רואים.

התהליך עצמו מורכב מאוד , אבל אלה עיקריו.

אנחנו בעצם בדף ה- ‎ASP (ע"י שורות קוד) יוצרים דף ‎HTML חדש כל פעם בהתאם להגדרות.
לדוגמא יש לנו מסד נתונים, עם נתונים על מספר כניסות.
על מנת להציג את מספר הכניסות והעלות אותו באחד , נשתמש באלגוריתם הבא בדף ה- ‎ASP:

לך למסד הנתונים , וקח את הנתון של מספר הכניסות.
העלה את המספר הזה באחד
הדפס את המספר לדף ה- ‎HTML שאתה יוצר

הדף ישלח עם הנתון של מספר הכניסות המעודכן בכל פעם.

דברים בסיסיים שצריך לדעת :

קוד ‎ASP נכתב כשהוא תחום בין שתי תגיות, תגית פתיחה (‎% >) ותגית סגירה (< %).
אפשר לכלול את קוד ה- ‎ASP היכן, כמה ואיפה שרוצים, אולם חשוב לשמור על פתיחה וסגירה.
ניתן לכתוב בכמה שפות ‎ASP , אנחנו כותבים עם ‎VBSCRIPT .
יש להבדיל בין טקסט ומשתנים ולדעת כיצד לשרשר (מאמר על שרשור)
על מנת לכתוב הערה ב- ‎ASP משתמשים בסימן ' (מעל האות ‎W במקלדת במצב כתיבת עברית ומעל מקש הפסיק העברי במקלדת כשנמצאים במצב אנגלית).

דפי ASP כוללים מספר אובייקטים מובנים בשפה, שנועדו לביצוע פעולות שונות והכרחיות.
האובייקטים הם:
Application - מאחסן מידע על השרת (לדוגמא מס' כניסות) , נשאר זמין כל עוד השרת פועל (במקרה של אתחול השרת, הוא מתאפס).
Request - גישה למידע שמגיע מהדפדפן. (נתונים מטפסים, קבלת ערכי עוגיות ועוד)
Response - שליחת מידע אל הדפדפן (הדפסה לדף HTML , יצירת עוגיות ועוד)
Server - שליטה על פונקציות ושירותים שונים של השרת.
Session - משמש לאחסון ואחזור מידע על משתמש נוכחי באתר.
(קיים גם ObjectContextששולט בתנועות דפי ה- ASP , אולם הוא מיועד למשתמשים מתקדמים.) Response ו - Request הם העיקריים , ובהם נעשה השימוש הרבה ביותר.

האובייקט Response

האובייקט הזה שולח מידע אל הדפדפן.
מאפייני האובייקט

מאפיין תפקיד כיצד נכתב בתוך קוד הערות
Write
כתיבה למסך
Response.Write
הדפסת טקסט
Response.write "Text"
הדפסת משתנה
Str = "Text"
Response.write str

במקום לכתוב
Response.write
ניתן להדפיס מחרוזת/משתנה למסך כאשר נמצאים כשלא בתגיות קוד וזאת ע"י
<%= .
לדוגמא
<%=Str%>
ידפיס למסך את הערך שבמשתנה Str .
Redirect
הפניית המשתמש לדף אחר
Response.Redirect
הפנייה לעמוד מוגדר
Response.Redirect "index.asp"
הפנייה לעמוד ששמו במשתנה
RePage = "index.asp"
Response.Redirect RePage

יש להשתמש בשיטה זו לפני שטקסט כלשהו מוצג בדפדפן.

האובייקט Request

.האובייקט הזה מקבל מידע מן הדפדפן
מאפייני האובייקט

מאפיין תפקיד כיצד נכתב בתוך קוד הערות
QueryString\Form
אחזור משתנים מעמוד קודם או משורת הדפדפן
a - שם רכיב טופס מעמוד קודם או שם שמכיל פרמטר שנשלח בדפדפן
Request.querystring("a")
Request.form("a")

form - מיועד לטפסים שנשלחו בשיטה post querystring - למשתנים בשורת הדפדפן ולטפסים שנשלחו בשיטה GET (אפשר גם לתת ערך מספרי
0 הוא האיבר הראשון במערך
האיברים שנשלחו.)
הכתובת בדפדפן:
index.asp?a=5
X =Request.querystring("a") מכיל את הערך 5 x טופס שנשלח מעמוד בשיטת POST
Pass =Request.querystring("pass")

מכיל את הססמא pass
הכי טוב זה לבקש משתנים
ישירות בעזרת
X =
Request("a")
ואז לא צריכים להיות מוטרדים בקשר לכיצד נשלחים המשתנים, בעזרת POST או GET .

ServerVariables
קבלת מידע אודות המשתמש והשרת
X=Request.ServerVariables("x")
כאשר במקום x בא אחד משמות משתני השרת או הכותרות.
לדוגמא HTTP
X = Request.ServerVariables ("HTTP_REFERER")
מכיל בתוכו את הדף ממנו הגיע x המשתמש לאתר שלנו. X = Request.ServerVariables ("REMOTE_ADDR")
x מכיל בתוכו את כתובת ה- IP של המשתמש שהגיע לאתר שלנו.

יש להשתמש
בשיטה זו לפני שטקסט כלשהו מוצג בדפדפן.

עד עכשיו אנחנו יודעים להציג נתונים ולבקש נתונים, עכשיו ניצור תוכנית קטנה לדוגמא: למשל אנחנו מעוניינים לרשום למשתמש את ה- IP שלו.
נשתמש ב-
Request.ServerVariables ("REMOTE_ADDR") על מנת למצוא את כתובת ה- IP .
וב- Response.Write על מנת להדפיס למסך. בצורה הבאה:
Response.Write Request.ServerVariables ("REMOTE_ADDR")

לחלופין יכולנו לכתוב: <%= Request.ServerVariables ("REMOTE_ADDR")%> בין תגיות ה-HTML (וזאת בתנאי שלא פותחים עוד בלוק קוד, בתוך בלוק פתוח)

(Cookies) עוגיות

עוגיות הן קבצי טקסט שמאוחסנים על מחשב הלקוח (מי שנכנס לאתר שלנו), בעוגיות משתמשים
על מנת לאחסן מידע ייחודי לגבי המשתמש , לדוגמא שם משתמש, סיסמא או מספר הביקורים שלו באתר שלנו. על מנת ליצור/לכתוב לעוגייה אנו משתמשים באובייקט Response בצורה הבאה : Response.Cookies("name") = value במקום name אנו שמים את השם שאנחנו נותנים לעוגייה (כדי שנדע לפנות אליה אחר כך).
ומכניסים אליה ערך (value) שיכול להיות מחרוזת טקסט או משתנה (ברב המקרים זה יהיה משתנה). חשוב לציין מתי תפוג העוגייה, לאחר הזמן שהוגדר העוגייה תימחק .
חשוב לכלול מאפיין זה, מכיוון שאם נחסיר אותו העוגייה תתאבד לבד עם סגירת הדפדפן (יתרון במקרים מסוימים). זמן תפוגה מגדירים בצורה הבאה:

Response.Cookies("name").expires = 12/12/03 אפשר גם להגדיר תפוגה בעוד מספר מסוים של ימים שעות ו/או שניות. לדוגמא עוגייה שתפוג תוך 20 יום.
Response.Cookies("name").expires = Now() + 20
כאן השתמשנו בפונקציה NOW() של VBscript על מנת לקבל את התאריך (וגם השעה) העכשוויים וע"י הוספת 20 , הגדלנו את התאריך ב- 20 יום. אם השתמשנו ב- Response על מנת לכתוב לעוגייה, הרי שנקבל את הנתונים בעזרת Request.
וזאת בצורה הבאה : X = Response.Cookies("name") כעת X מכיל בתוכו את הערך של העוגייה name. אפשר לכלול מספר ערכים תחת אותה עוגייה, בצורה הבאה :
Response.Cookies("Parent")("son") = something למשל כל פרטי המשתמש תחת עוגייה אחת : Response.Cookies("UserDetails")("nick") = "David" Response.Cookies("UserDetails")("pass") = "123" Response.Cookies("UserDetails")("lastvisit") = now() קבלתם תתבצע באופן רגיל ע"י Request : Nick = Request.Cookies("UserDetails")("nick") Pass = Request.Cookies("UserDetails")("pass") Lastvisit = Request.Cookies("UserDetails")("lastvisit")
ותפוגה מגדירים רק לעוגייה הראשית:
Response.Cookies("UserDetails ").expires = Now() + 20 שימו לב שבשרתים גויים, יש בעיה בהעברת עברית בעוגיות (פיתרון במאמר על בעיות נפוצות)

Sessions

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

יצירה או כתיבה ל- Session מתבצעת באופן הבא של הצבת ערך:
Session("username") = "Motty" וקריאה מתבצעת באופן הבא :
Username = Session("username") כעת המשתנה Username קיבל את הערך מ- Session בשם username ולכן יכיל את ערכו (Motty).
עם סגירת הדפדפן שבו פתוח דף האתר, אמור להימחק ה- Session.
בפועל זה לוקח עד 20 דקות. Sessionנמחק 20 דקות אחרי שנוצר (אלא אם כן הוגדר אחרת בשרת או בקוד) ואם אין תגובה מן המשתמש (לא פנו אליו במשך הזמן המוגדר). אנו מגדירים מחדש את זמן תפוגת ה- Session בצורה הבאה :
Session.Timeout = 30 יגדיר את תפוגת ה- Session מחדש ל- 30 דקות .

Application

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

Application("counter") = 0 בצורה הזאת אנחנו יצרנו משתנה Application בשם counter ואתחלנו אותו (ע"י השמת 0). לאחר מכן בדף של הראשי של האתר שלנו , אליו אנשים נכנסים נכתוב : Application("counter") = Application("counter") + 1 וזאת על מנת להעלות ב-1 את ערכו של המשתנה בשרת.
כל כניסה לדף , תבצע את שורת קוד זו מחדש ותעלה את המשתנה ב- 1. אנחנו מעוניינים לקבל את ערכו של המשתנה ולהציגו באתר, לכן נשתמש ב- Response.write על מנת לכותבו לעמוד.
Response.write Application("counter") בצורה כזאת יודפס למסך ערכו של המשתנה counter .

הערה
הבעייתיות במונה מבקרים פשוט זה היא שהוא סופר כל כניסה של משתמש לדף, גם אם הוא לוחץ על Refresh.
אפשר בעזרת תנאים ועוגיות למשל, ליצור הגבלה של ספירה כל 5 דקות או יממה.
זה הבסיס העיקרי של שפת ה- ASP , כדאי לכם לקרוא את המאמרים שברשימה למטה,
הם מסודרים לפי הסדר בו כדאי לכם לגשת אליהם, הם מהווים בסיס של כל שפה תכנותית
תנאים, לולאות וכד'.

חומר נוסף

טפסים

תנאי IF

לולאות

מאמר על שרשור נכון

פונקציות Div&Mod

פונקציות וסאב רוטינות

מדריך נוסף למתחילים ב- ASP


על מנת להריץ דפי ASP אתם צריכים שרת, אפשר בינתיים להספק ב
PWS שמדמה שרת על המחשב שלכם ל- WIN98
או ב- IIS של המקצוענים (אם יש לכם 2000 או PRO XP אין לכם הרבה ברירות
פשוט תתקינו מהדיסק(מה זאת אומרת אין לכם דיסק ?) )
אפשר גם לאחסן ברשת: איפה לאחסן את האתר שלכם (בחינם)
שליחת אימייל בעזרת ASP


זאת רק ההתחלה, יש לכם עוד הרבה מה ללמוד (עבודה עם DataBase, FSO ועוד).


         

מחבר: ליאור שמשרמת קושי: 1  ||  ציון: (8.46153846153846)כל הזכויות שמורות ל-IAO ©

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