logo


פרק 3: שמירת מצב

בניית פיצריה: השלמת ההזמנה

sub complete_order()
 #checkout order
 { print $cgiobject->header;
   print $cgiobject->
		start_html(-title=>'Thank you from 
				    Build-a-Pizza',
			-bgcolor=>'white');
   $invoice= "<H2>Thank you for your pizza order!</H2>".
             "<HR>Deliveries should arrive in 30-45 minutes. ".
             "Pickup orders please arrive in about 20 minutes.<BR>".
             "The following order has been sent to the kitchen:<BR>";
   
   if ($deliver eq "deliver")
    { $invoice.="<B>Delivery</B> " }
   else
    { $invoice.="<B>Pickup</B> " }
   $invoice.="Order for: $name<br>";
   if ($deliver eq "deliver")
    { $invoice.="Delivery to: $address<br>" }
   $invoice.="Order Description: ".
   		"<br>A <B>$size</B> ".
		"pizza with the ".
		"following toppings:<br>";
   @allToppings=$cgiobject->param("order_toppings");
   $invoice.="<B>".join(",",@allToppings)."</B>";
   $invoice.="<BR>TOTAL DUE: ".sprintf("%.2f",&calcTotal());
   print $invoice;
   
  ##here would be code to send invoice kitchen
  ##such as by way of email
  
  }

כאשר המשתמש מקיש על "Finish Order" אנו עוברים לאיזור הביקורת הדמיוני, הנמצא בשגרה complete_order. שגרה זו יוצרת חשבונית, שמושמת ל invoice$, המכילה את האינפורמציה שנאספה משדות טופס הרישום. אחרי שנוצרה, החשבונית נשלחת לדפדפן המשתמש ועשויה להראות כך:

השגרה complete_order שראינו מדפיסה את החשבונית אך ורק לדפדפן, כאשר באופן עקרוני החשבונית היתה אמורה להשלח גם למטבח! אפשרות אחת היא להוסיף קוד Perl שישלח בדואר אלקטרוני את החשבונית לכתובת דואר אלקטרוני מיוחדת, שנבדקת באופן תמידי במטבח. לא ניגע בקוד זה עכשיו בגלל שאין דרך "נכונה" לשלוח הודעות דוא"ל מתוך תוכנית Perl אלא משתנה ממערכת ההפעלה אחת לאחרת. ב . Episode #9 of the Perl FAQ תוכלו למצוא מידע על שליחת הודעות דוא"ל מתוך Perl. בדוגמא שלנו, ולא משנה מה סוג המכונה, נרצה לשלוח בתור גוף הדואר את הערך של invoice$.

בניית פיצריה: חישוב המחיר
תוכן עניינים
בניית פיצריה: עדכון הזמנה

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