logo


פרק 8: להשתעשע בבסיסי נתונים - GUFE - החזית הכללית והשימושית

בואו נצעד עם GUFE

הכנת GUFE

אם עקבתם אחרי אחד משני המאמרים הקודמים במיני-סדרה, אתם מוכנים בוודאי ל GUFE. GUFE דורש שבמערכת המארחת (host system) יותקנו Perl, המודול DBI, והמודול DBD עבור בסיס הנתונים המסוים בו אתם משתמשים. לדוגמה, במערכת ההפעלה חלונות עם אקסס, תזדקקו למודול DBD::ODBC , במערכת יוניקס עם MySQL תזדקקו למודול DBD::MySQL. אם זה לא ברור, חשוב שתחזרו לשני החלקים הראשונים בפרק הזה.

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

בואו נצעד עם GUFE

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

חשוב לשים לב ש GUFE נשענת על שיטת תבנית הרשת שראינו בפרק 4 בסדרה זו. בקצרה, המשמעות היא ש GUFE "מכניסה" את הפלט שלה לתוך מסמך HTML קיים. זה משחרר את GUFE מהצורך ליצור מחדש את כל עמוד הרשת בכל פניה, ומספקת למעצב הרשת גמישות מרובה יותר בתכנון האלמנטים מסביב בעמוד זה. בפשטות, GUFE מטילה את הפלט שלה במקום ההערה <!--FRONTEND--> שנמצאת בתוך קוד המקור של קובץ ה HTML.

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

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

use CGI;
use DBI;

#setup database parameters
my $DBD="mysql";
my $dbase="Clients";
my $dbuser="";
my $dbpassword="";
#prepare for output to browser
$cgiobj=new CGI;
print $cgiobj->header;

GUFE מתחילה בהכלה של שני המודולים הקריטיים שלנו, CGI עבור הקשר עם הדפדפן, ו DBI עבור הקשר עם בסיס הנתונים.

למען הנוחיות, הקצנו מספר פרמטרי חיבור לבסיס הנתונים: פרוטוקול ה DBD ("ODBC" במקרה של אקסס), שם בסיס הנתונים, ושם המשתמש/סיסמה (אם צריך) עבור החיבור לבסיס הנתונים. חלק מהמערכות רגישות לאותיות גדולות/קטנות (case sensitive) לדוגמה יוניקס, וחלק לא (חלונות). ולכן חשוב לשים לב לאותיות. לדוגמה, הפרוטוקול DBD של MySQL חייב להיות כולו באותיות קטנות "mysql" - תוכלו למצוא את התחביר הנכון מתוך המדריך למודול DBD עבור בסיס הנתונים שלכם.

ניסיון העבר שלנו ב CGI מנחה אותנו כיצד לבנות מזהה עבור מופע זה של אובייקט ה CGI, $cgiobj, כמו כן אנו מוציאים header סטנדרטי של HTML כדי להכין את הדפדפן לקבלת נתונים.

GUFI בואו נדבר על
תוכן עניינים
חלק 2 :GUFI מעבר על

אודות
תוכן עניינים
פרק 1: ה Perl שאתם צריכים לדעת
פרק 2: קישור Perl לעמודי הרשת
פרק 3: שמירת מצב
פרק 4: HTML בחטף ותבניות (Templates) רשת
פרק 5: עיבוד וניתוח של עמודי רשת
פרק 6: להשתעשע עם בסיסי נתונים מקוונים:אקסס
פרק 7: המודל MySQL
פרק 8: להשתעשע בבסיסי נתונים - GUFE - החזית הכללית והשימושית
בואו נדבר על GUFI  
בואו נצעד עם GUFI  
מעבר על GUFI: חלק 2  
מעבר על GUFI: חלק 3  
מעבר על GUFI: חלק 4  
מעבר על GUFI:חלק 5  
פרק 9: המילניום - ניהול זמן ותאריך
פרק 10: ניהול רשימות והאשים (Hashs)
פרק 11: הפניה להפניה
פרק 12: הכרות עם mod_perl