הכנסת דפי תוכן לתבנית
במערכת שבנינו, שמרנו את המעטפת (העיצוב) בקובץ נפרד, קובץ התבנית (template.php). את הבשר של דפי המערכת נשמור בקבצים נפרדים, קבצי התוכן. בדפי התוכן הללו אנו נתייחס רק לתוכן עצמו ולעיצוב הפנימי שלו, אך לא נוכל לשנות מהם את המעטפת והעיצוב החיצוני של הדף. בקבצי התוכן נוכל להשתמש גם בקוד PHP, שיפוענח וירוץ כאשר מכלילים את קובץ התוכן בתבנית, ובקוד ה-PHP ניתן להשתמש גם במשתנים הגלובליים שהוגדרו בקובץ התבנית.
ניתן דוגמא לכתיבת קובץ תוכן שמציג את ה-IP של המשתמש (client):
file name: content_pg_1.inc
<DIV dir="rtl">
<H2><?=
$page_info["title"];/* | שימוש בקוד PHP. כאן השתמשנו במשתנה גלובלי שהוגדר בקובץ התבנית, באמצעותו אנו מדפיסים את הכותרת של הדף. | */ |
?></H2>
<P>ניתן לכלול בדפי התוכן גם קוד PHP.</P>
<P>למשל, נראה לכם מה ה-IP שלכם באמצעות PHP, על-פי המשתנה <SPAN dir="ltr"><NOBR>$_SERVER["REMOTE_ADDR"]</NOBR></SPAN>...</P>/* | הבשר של דף התוכן. ניתן להשתמש כאן בתגי HTML כדי לעצב את התוכן. | */ |
<P>ה-IP שלך הוא:<BR><B><?=
$_SERVER["REMOTE_ADDR"];/* | שימוש בקוד PHP. אנו מדפיסים את כתובת ה-IP. | */ |
?></B></P>
</DIV>
עבור כל דף של תוכן שרוצים לשלב במערכת בתוך התבנית, יש צורך להכניס את נתוני הדף לתוך בסיס הנתונים של המערכת. בסיס הנתונים כולל: מספר זיהוי ייחודי לדף התוכן, מיקום קובץ התוכן על השרת (מיקום יחסי לגבי הספריה בה נמצא קובץ התבנית), כותרת הדף, מספר הזיהוי של הדף הבא ומספר הזיהוי של הדף הקודם.
כדי להכניס את הנתונים אודות דפי התוכן לבסיס הנתונים, נשתמש בשרת ה-MySQL ונכניס את הנתונים באופן ידני. מספר הזיהוי של הדף הראשי במערכת חייב להיות 00001. אם אין בטבלת הנתונים דף תוכן עם מספר זיהוי 00001, הדף הראשון שתקבל הוא הודעת שגיאה, האומרת כי מספר הזיהוי של הדף המבוקש לא נמצא (כאשר לא מציינים את הדף מפורשות, ברירת המחדל היא לקחת את מספר הזיהוי 00001).
במערכת הקטנה שבנינו, יש 4 דפי תוכן. כך הם נראים בבסיס הנתונים:
p_id |
path |
title |
p_prev |
p_next |
00001 |
contents/content_first.inc |
הדף הראשון |
00000 |
00100 |
00100 |
contents/content_pg_1.inc |
ה-IP שלי |
00001 |
00101 |
00101 |
contents/content_pg_2.inc |
טבלת הדפים במערכת |
00100 |
00250 |
00250 |
contents/content_map.inc |
מפת המערכת |
00101 |
00000 |
שאלה | 06-12-02 03:01 [ללא שם] | #216 |
| איך יודעים איזה מס' id לכתוב? |
|
auto_increment | 06-12-02 04:00 אלי חן (מנהל) | #218 |
| אם תסתכל על הגדרת הטבלה של הדפים, תראה כי השדה p_id מוגדר בטבלה כ auto_increment, מה שלא מחייב אותך לתת מספר זיהוי (id) ספציפי, ואם תשאיר את השדה ריק אז MySQL ייתן לזה מספר אוטומטי (המספר הבא בטבלה).
אם אתה מנסה לתת מספר זיהוי ספציפי שכבר קיים בטבלה, אז תקבל הודעת שגיאה ולא תצליח להכניס את הדף החדש לטבלה.
חוץ מזה, אתה יכול לתת לדף איזה מספר זיהוי שתרצה, כל עוד הוא מתאים להגדרות השדה ואינו קיים כבר בטבלה. |
|