פרק 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$. בניית פיצריה: חישוב
המחיר
|