ࡱ> CEBt` =,bjbj 4r!H     44484d`5 bl6.6.6.6|7999kkkkkkk$nhpl <59^9<<l  .6|7l]D]D]D< ".6 |7k]D<k]D]D6a6 r 3d6 6 `@L4@b=j2l0blbqAJq83d3dq f@9vK:T]D:D:69"99 llCj999bl<<<< $. .        This lab should get you familiarized with accessing MySQL databases over the web using PHP. Reminder At the end of the class, save the files from D:/sokkit/site/ and D:/sokkit/mysql/data to your x-drive or removable media, as these are shared directories and their content is deleted when you log out. Submission requirements: Both electronic and paper submission. All the files pertaining to this lab should be available as a zip file on your X drive, in IT420/lab10/lab10_m07xxx.zip, where 07xxx is your alpha. Hard copies of all files should be submitted in class. Due date Tuesday, March 28 2006 before lab. You will receive up to 80 points for completing the work and 20 points for an oral quiz based on your understanding of the PHP/MySQL code. Preliminaries: In previous labs/classes you have created the vp5fund database in MySQL, to hold the data for the VP-5 MWR Fund Raiser application. The following tables were created: Items(ItemName, Price) Orders(OrderID, ShippingAddress) ItemsOrdered(OrderID, ItemName, Quantity) If you saved your database, it is time to restore it now. If you do, there should be a vp5fund directory in D:/sokkit/mysql/data, to hold all the data for the vp5fund database. If you did not save your database, you can create the database and the tables in it by running the SQL statements in createVp5FundTables.txt file from the website. First, download createVp5FundTables.txt and save it somewhere, lets say on X:/IT420/Lab10/createVp5FundTables.txt To start the MySQL Monitor (command-line interface to MySQL) from the Windows command line (Start(run(cmd): D: cd D:/sokkit/mysql/bin mysql u root //to start the MySQL monitor as user root source X:/IT420/Lab10/createVp5FundTables.txt //to run the SQL statements in the file you saved You can check that the database and tables were created: From the MySQL monitor command line: show databases; //lists all databases on the MySQL server. vp5fund should be one of them use vp5fund; //chose the vp5fund database to work with show tables; //lists all the tables in the current database (vp5fund) describe items; //display the structure of the items tables Now you are ready to connect to the vp5fund database from PHP. PART 1: Connect to MySQL from PHP Remember that all PHP functions will return a value of false if the operation is not successful. This is good news because you can (and should) test for the success or failure of functions (much like you did when opening/writing/reading files). You will use the following PHP function to connect to MySql. Understand this is just a generic connection to the MySql DBMS and NOT to a specific database within MySql: mysql_connect (hostname, user_name, password); hostname is the host or server name where MySql resides, the user_name is the name of the user connecting to the db server, and password is the password for the user. In our lab configuration your hostname is localhost. The user_name for your current configuration is root. The password is empty . These are the values for the parameters, when youll test the function. After a connection to MySql is established, you can connect to a particular database using: mysql_select_db(database_name, connection) database_name is the name of the database, and connection is the identifier for the connection returned by mysql_connect. Open the Crimson Editor, create the file connect_db.php and save it to the D:sokkit/site folder. TASK: In the connect_db.php file write a function my_connect_db to open a db connection and select a database Input parameters: db server name user name optional, default value root password optional, default value database name Return value: FALSE if errors occurred database connection if everything OK Test your function: Copy the following code to a new test.php file saved in D:/sokkit/site: From the browser, run  HYPERLINK "http://localhost/test.php" http://localhost/test.php You should receive the message Everything OK. If you do not get this message, check for errors in my_connect_db function. PART 2: Query the database Save the source for the following input form in D:/sokkit/site/searchOrders.html: Orders Search Page

VP-5 Fund Raiser Orders Search

Shipping Address:
 TASK: The purpose of the form is to allow a user to search for some particular orders, more specifically for orders with shipping address containing some user-input search term, or all orders if no search term is specified. Write the code for the processSearchOrders.php file executed when the used clicks the Search button: Use the my_connect_db function you defined earlier to connect to the vp5fund database. Create a variable $sql that will hold the SQL query to extract the needed information from the v5fund database. You should find all the order ids, shipping address, and the total amount to be paid, including a 5% tax, for orders with shipping address containing the user-input search term. Submit the SQL query to the database using $mysql_result = mysql_query($sql, $connection); The $connection is the current connection identifier returned by the my_connect_db function in case of success. $sql is a variable holding the SQL query to be submitted to the database. Thus, if $connection is valid and $sql holds a valid query, the results of the query are stored in the variable $mysql_result. Display the results. If there are no orders returned, display an explicative message. If there are any orders returned, display the results in a table. Here is a sample output for this case: OrderIDShippingAddressTotal Amount (with 5% tax)1420 Web Foot Ln, Stevensville MD 2166685.052214 Taylor Avenue, Annapolis, MD94.50 Here is some basic PHP code for a table: echo ""; echo ""; or, if you prefer the pure html, then the following is equivalent:
OrderIDShippingAddressTotalAmount
Disconnect from the database. Test you program. Run searchOrders.html from the browser, input some search term, submit the search and check if the results displayed match the data in the vp5database. PART 3: Insert into the database Until now we assumed that data related to orders is already in the tables in vp5fund database. Now you will write a program to allow the user to create orders that you will save into the database. This is how the input form for the VP-5 fund raiser orders looks like:  TASK Add code to your processOrder.php file (executed by server when the previous form is submitted) to save order data from VP-5 Fund Raiser application into the Orders and Itemsordered tables in the vp5fund database. Make sure that you create a new order in the Orders table only if some item is indeed ordered (the quantity is specified and is higher than 0). Similarly, only items ordered (the quantity is specified and is higher than 0) should appear in the ItemsOrdered table. Remember that the OrderID is created automatically by the DBMS, since the OrderID column was created with AUTO_INCREMENT keyword. Also make sure that the ItemName values you insert into the ItemsOrdered table correspond to the names existing in the Items table, since the ItemName in OtemsOrdered is a foreign key referencing ItemName column in Items table. Display appropriate message in order confirmation screen. If for any reason the data cannot be saved in the database, an error message should be displayed. This is a sample output if the order was successfully saved.  Part 4: Application start menu TASK: Write a front end for this VP-5 MWR Fund Raiser Application. The user should have two choices: either place an order, in which case the appropriate form to allow for user orders should be displayed (Part 3), or to search for orders, in which case the appropriate form to allow for order searches should be displayed (Part 2).     IT 420 Lab (21 March 2006) Web Databases - PHP and MySQL VP-5 Fund Raiser Orders Search Top of Form Shipping Address  HTMLCONTROL Forms.HTML:Text.1  HTMLCONTROL Forms.HTML:Submitbutton.1 Bottom of Form VP-5 MWR Your order is as follows: 1 Tee Shirts 2 Ball Caps 3 Patches Total Quantity: 6 Total Amount(with 5% sales tax): $85.05 Shipping Address: 420 Web Foot Ln, Stevensville MD 21666 Order Processed. 11:50, 7 March 2006 VP-5 MWR Fund Raiser Top of Form ItemQuantityMad Fox Tee Shirts HTMLCONTROL Forms.HTML:Text.1 VP-5 Ball Caps HTMLCONTROL Forms.HTML:Text.1 Mad Fox Patches HTMLCONTROL Forms.HTML:Text.1 Shipping Address HTMLCONTROL Forms.HTML:Text.1  HTMLCONTROL Forms.HTML:Submitbutton.1 Bottom of Form  *4:CPZ^_gh   1 2 3 K p r ʿݴݬ틃{s{sh{=CJaJhUCJaJhSDCJaJhSDhSD5>*CJaJhijCJaJhh:CJaJhCJaJhh CJaJhhijCJaJh}J5>*CJaJh=kCJaJhUeCJaJh8DCJaJh}JCJaJh}Jh}JCJaJ*]^_2 3 i    ILc7\gd & FgdSlxgdN & FgdN)a)<,  = F M V W d g h i   k    , ̾wk]w]wkwkwUh[F_CJaJhSDhN6CJ]aJhSDhN>*CJaJhSDhNCJaJhX'CJaJhn!*CJaJhNCJaJhX'hGu5>*CJaJhX'hX'5>*CJaJh}JCJaJhSDhSD5>*CJaJh~-=hSDCJaJh~-=CJaJhUeCJaJhUCJaJh{=CJaJhjXCJaJ , N Z   G X \ 7>?BCG_\pqȺȺȲ貢|qfhX'5>*CJaJh{e5>*CJaJhhNCJaJhSDh[F_CJaJh]CJaJhZCJaJh[F_CJaJhGaCJaJh8CJaJ jhhCJaJhCJaJhmdCJaJhSlxCJaJhNCJaJhsCJaJh_?CJaJh?CJaJ#\4pqxy'(/01gdgdqgdX gdN & Fgd8{19'(./1IZdh|}hQmh5hhK(hq5hK(hq56 hq56hqhGa hLhX hLhX 6hLhX 5hX CJaJ hX 6h| \hX 6h hX 6h hX 5hX h>mCJaJhhN5>*CJaJ1%Pv./5UVgdq & F gdlQ & F gdlQgdlQgd-.5AV_x./бйЦйzйvrvh_ hfh hlQ5>*h hQm5>*h h45>* hQm5hyhQm0JjhQmUjhQmU hQmhQm h5 hh \JhDhQmhO[hlQh \JhlQhlQ6] h \J6] hlQhlQhFh,01&-OW^-5=EFGIJKL 7$8$H$gd(1gdq  4FcEGHJLMNRSXYZ[w457@NV~wowh1^CJaJhUe^CJaJh5)CJaJhkE&CJaJhUe^hf5CJaJhUe^5CJaJhUe^hUe^5CJaJhCJaJhfCJaJhhqCJaJhLCJaJjhfUmHnHuh(1 h(1h(1hLh1^h hfh_ +LMNOPQRSY[57GHxy ^`gd5)gd5)gd9  & F gd9 h^hgd9  & F gdkE&gdfgd~  eHUXcdhju}12=GKPUY bpqrs輴̔̌~ h,k5\ h|5\h)9CJaJh9cCJaJh8h 'h5)6hk=h5)5h5)h5)h5)6h5)CJaJh|.CJaJh^CJaJh8h86CJaJh8CJaJh9 CJaJhkE&CJaJhCJaJ1yrs{ $$Ifa$gdbKygd)9 & F gd5)gd5)^gd5)    Z![!\!x!y!{!!!!$"%"&":">"G"H"]""ŽŪvnch1^h1^CJaJhRCJaJh h 5>*CJaJh hR5>*CJaJhk=CJaJh1^CJaJh CJaJh5)CJaJ h,kh)9h,kh,kCJaJh)9CJaJh9 h9 h9 hbh9 h|h|CJaJ h|5\ h9 5\ h,k5\%i``` $IfgdbKykd$$IfT0000F000006    34ab T i``` $IfgdbKykd$$IfT0000F000006    34ab T    - . ^ idd__VV_V`gd,kgd,kgd)9kdU$$IfT0000F000006    34ab T ![!\!z!{!%"&"G"H"##V#W#Y#Z#[#\#]#^#_#`#a#b#c#gd5)h^hgd5) & F gd5)gd)9`gd,k"" # ###*#J#W#X#h#i#l#m#o####$ $3$C$L%&&&'(''''ƴƨ|t|ltdYQYhCJaJh}hDhbKyCJaJh6H7CJaJh?CJaJhPCJaJhw 1CJaJh}hDh}hDCJaJh&DCJaJhPCJaJhbKy5CJaJh&Dh}hD5CJaJ"jh}hDCJUaJmHnHuh}hDCJaJhRh1^5CJaJh1^hfCJaJh1^hRCJaJh1^CJaJhbKyCJaJc#d#e#f#g#h#n#o#&&'''''''''''''''''''gdbKygd}hD''''''''(1())))))) )")#)%)1)>)@)P)S)])^)`)a))))))))ޝxiaxjh~-=Uj&G h~-=CJUVaJjhbKyUhbKyhbKy5CJaJhDglhbKy5CJaJhH4ljhH4lUhhCJaJh+6CJaJhOLCJaJhubCJaJhk=CJaJhh5>*CJaJhCJaJhbKyCJaJ"jhbKyCJUaJmHnHu$''''''))))))))))))))!)")$)%)@)^)_)`)a)$a$gd\ a))))))))){r $$Ifa$tkd+$$IfF6    34ap$Ifgdfgdf)))))))))*N****++.+/+N+O+P+Q+S+T+c+d++++++++++++++++++ʼ쥝쎆woj}h~-=Uj%G h~-=CJUVaJj hbKyUjG hbKyCJUVaJj$ hbKyUjG hbKyCJUVaJhbKyCJaJhbhbKy5CJ\aJhbhbKyCJaJjh~-=Uj%G h~-=CJUVaJhbKyjhbKyUhbKyCJaJ*))********N****}xgdbKygdbKy@&gdbKygdbKygdbKygd^tgdfgdf\kd$$If0634ap ***+ ++++.+R+S+{hkd$$If0 634ap$If $$Ifa$gd}hDgd}hD S+T+c+++$Ifokd9 $$IfF6    34ap+++++$Ifokd $$IfF6    34ap+++++$Ifokd$$IfF6    34ap+++++++++",#,$,%,&,(,;,<,=,ŽܹhCJaJh=!jh~-=Uj%G h~-=CJUVaJhbKyCJaJhbKyjhbKyUj+h~-=Uj%G h~-=CJUVaJ+++++$Ifokdy$$IfF6    34ap++&,',(,*Wkd$$If0634ap$If $$Ifa$okd$$IfF6    34ap(,7,8,9,:,;,<,=,gd}hDgd}hD21h:p\ / =!*"#$% DyK http://localhost/test.phpyK 4http://localhost/test.php$$If!vh55^5 #v#v^#v :V 000006,5/ 34T$$If!vh55^5 #v#v^#v :V 000006,5/ 34T$$If!vh55^5 #v#v^#v :V 000006,5/ 34TDd hb  c $A? ?3"`?2d7[KE#@U `!87[KE#)|xcdd``~ ,@30p31ex$00Yr @PP sd>0H0 DE&Ǣ C@Î%rG޴l> d0 %H:`\7$$If!vh55 5_#v#v #v_:V 6,534p>Dd b  c $A? ?3"`?2X3Ǣk4d `!\X3Ǣk4R4\*xmQJA}{\"h.()"!~mE*iK?CJa}ɮ{psf潙YA '~ MK5e#.ΠhLQ+~zAaN]FJcLPJ˝X,ˠTCʑzGPwRQiόaڭY$h >B0xY.:O{Nj-~ilԻZΐJ-q6ng8}8..Kr&v県UMvx3^K],uc1FE:g~$$If!vh55_#v#v_:V 6,534p$$If!vh55 #v#v :V  6,534pDd hb  c $A? ?3"`?2_rZUT;o ? `!3rZUT"|xmJA]sM$&4VVH^ZADF^ CXWM"rcvoYA+;8~e9t r=e%Ƹ kC|&7¬ˬ$犔5[dN-^.uQoJ$n*'}#e3ܿ/Jnj,eՉ&,s}Xq7}<ϲe/߳7F~۫b`6Ǟhq8E:5\1̖$$If!vh55 5_#v#v #v_:V 6,534pDd hb  c $A? ?3"`?2^,u_/h: ? `!2,u_/h"|xmAJAEu$ILqH APA^ C4WqBERqdj~uWT{8~e9t r}c%?hFBL1JnYYI.)g$ȜZ*"]ңޔmI>_WO|F9`/JnTʪM$s}_S%v~Gyeo^_~+F~^\e7b`6G8_`LP%Fo7X1$$If!vh55 5_#v#v #v_:V 6,534pDd hb  c $A? ?3"`?2`vUt/S < `!4vUt/S "|xmJAƿ]c hV He*IC-lI~3Y~ c^m7 <<X1  !"#$%&'()*+,-./0123456789;<=>?@A^DHeGIKJMLONPQRSTVUWXYZ[]\bc_`adhfgisjklmnopqrvwxyz{|}~Root Entry/ F0iQLF8Data :tWordDocument.4rObjectPool `@L0iQL_1204430336U\g`@L`@LPRINTCompObjmObjInfo  !"#$%&'),-01234568;<?@ABCDEGJKNOPQRSTUWZ[\_`abcdefgilmpqrstuvxyz{|}~{   - ! !- ! !- ! !@@@- ! !  . 2 @Arial# Rww 0wA f- 2  MD' U\gForms.HTML:Text.1Embedded ControlForms.HTML:Text.19q2U\g<INPUT TYPE="TEXT" MAXLENGTH="50" SIZE="33" NAME="address" VALUE="MD">DefaultOcxName3111` )  4OCXDATA OCXNAME(_1204430335 U\g`@L`@LPRINTZ@@@- !3 !3- ! !2- !2 !1- ! !0- !0- !.  4.@Arial# 8Pww 0w1#fY-  2 .S- !-2 .earch' U\gForms.HTML:Submitbutton.1Embedded ControlForms.HTML:Submitbutton.19q2U\g<INPUT TYPE="submit" ACTION="processorder.php" VALUE="Search" METHOD="post">DefaultOcxName5111CompObj }ObjInfoOCXDATA OCXNAME(_1204201489"U\g`@L`@LPRINT CompObj(mObjInfo*{   "- !! !!- ! ! - ! !qod- ! !  ". 2  @Arial< =Rww 0w. fX-  2   1' U\gForms.HTML:Text.1Embedded ControlForms.HTML:Text.19q2U\g<INPUT TYPE="TEXT" MAXLENGTH="3" SIZE="3" NAME="teeqty" VALUE="1">DefaultOcxName4{   "OCXDATA+OCXNAME."_1204201488U\g`@L`@LPRINT/- !! !!- ! ! - ! !qod- ! !  ". 2  @Arial< =Rww 0wc f-  2   2' U\gForms.HTML:Text.1Embedded CCompObj7mObjInfo9OCXDATA:OCXNAME=$ontrolForms.HTML:Text.19q2U\g<INPUT TYPE="TEXT" MAXLENGTH="3" SIZE="3" NAME="capqty" VALUE="2">DefaultOcxName11{   "- !! !!_1204430334U\g`@L`@LPRINT>CompObj FmObjInfoH- ! ! - ! !@@@- ! !  ". 2  @Arial# Rww 0wf:-  2   3' U\gForms.HTML:Text.1Embedded ControlForms.HTML:Text.19q2U\g<INPUT TYPE="TEXT" MAXLENGTH="3" SIZE="3" NAME="patchqty" VALUE="3">DefaultOcxName21{ =  - ! !- ! !OCXDATA!IOCXNAMEL$_1204430333($U\g`@L`@LPRINTM@- ! !@@@- ! !  . 2 @Arial# Rww 0w"f5- =2  !420 Web Foot Ln, Stevensville MD  ' U\gForms.HTML:Text.1Embedded ControlForms.HTML:Text.19qCompObj#&VmObjInfoXOCXDATA%'YOCXNAME]$2U\g<INPUT TYPE="TEXT" MAXLENGTH="50" SIZE="33" NAME="address" VALUE="420 Web Foot Ln, Stevensville MD 21666">DefaultOcxName31E 2  P@@@- !O !O_1204430332*U\g`@L`@LPRINT^lCompObj),h}ObjInfoj- ! !N- !N !M- ! !L- !L- !J  P.@Arial# 8Pww 0w(f-  2 JS- !-2  Jubmit Order' U\gForms.HTML:Submitbutton.1Embedded ControlForms.HTML:Submitbutton.19q2U\g<INPUT TYPE="submit" ACTION="processorder.php" VALUE="Submit Order" METHOD="post">DefaultOcxName51Oh+'0OCXDATA+-kOCXNAMEn$1Table9uNqSummaryInformation(0o)&ɍ03Ȣ(jR_HlkMwHzSrlyMw`l#TUM:Qf\lgAmbyX]o积 #mGr`6ǾpD:52 1 $$If!vh55 5_#v#v #v_:V 6,534pNDd hb  c $A? ?3"`?2]wm1Tyrto `!l]wm1Tyr6)|:xm=KA=%U@6*! VhapBH@C^%洰"H*uf/\fg9 Vȕ)3jg(R(Kc̼xzx*dE r2IGB_ÒX S‘"9ٜ БзlI@>+!ysV{"JJ ij4E?rf]b?In7'u<|Ou{67/٬}b=ТM$y:>.p8G}:z܏He,k,e`B$$If!vh55 5_#v#v #v_:V 6,534p$$If!vh55 5_#v#v #v_:V 6,534pKDd b  c $A? ?3"`?2sqrƋWq `!isqrƋWdP \7xmQJ1}lVDDtTd 1TKUqBV(hW~>~$$If!vh55_#v#v_:V 6,534p ,8 X d p |,Lab 6 Triggers and Introduction to PHPmckenna Normal.dotadina62Microsoft Office Word@2T@ @T*I@L)՜.+,D՜.+,DocumentSummaryInformation8wMacros6`@L`@LVBA4`@L`@Ldird  hp  US Naval Academy< ! )Lab 6 Triggers and Introduction to PHP Title 8@ _PID_HLINKSAlRhttp://localhost/test.phpV0* pHdProjectQ(@= l @E J<  rstdole>stdole( h%^*\G{00020430-C 0046}#2.0#0#C:\WINDOWS\System32\e2.tlb#OLE Automation`ENormalENCrmaF(  *\C MB!OfficgOficg !G{2DF8D04C-5BFA-101B -BDE5gAA5e42ggram Files\CommonMicrosoft Shared\@10\MSO`.DLL# 10.0 Ob Library%xMSFAs>MSDFBs3@dD452EE@1-E08F0A-8-02608C4D0BB4dsdFM20L'B p&/;"~1D|~ C00}#@8@# ў50 A1388D86A-BFC8-4B06-AE87-32782083578C6DOCUME~1\ADMINILOCALSTemp\Word8.c8.exdd=".E .`M AThisDocument(GTisDlcuen 2` H1ByZz,[TC""+-[Cx(DefaultOcxName4, 9, 0, MSForms, HTMLText+DefaultOcxName3111, 3, 2, MSForms, HTThisDocument35_VBA_PROJECT PROJECT27PROJECTlk8NMLText-DefaultOcxName5111, 2, 3, MSForms, HTMLSubmit)DefaultOcxName11, 8, 6, MSForms, HTMLText)DefaultOcxName21, 7, 7, MSForms, HTMLTextMEPS"SS"ss<<<(1Normal.ThisDocument(% %*h0 %*`%*(X*! (*#  %*%X  %*'Px8X *\R8005*#82*\R8005*#7dxAttribute VB_Name = "ThisDocument" Bas1Normal.VGlobal!SpaclFalse CreatablPre declaIdTru BExposeTemplateDeriv$Custom izC1ControlDefa@ultOcxm4, 9, 0, MSFs, HTMLTex!3111, 3, 2"5"!$E`SubmiF"8(, 6"237, QEay  *\G{000204EF-0000-0000-C000-000000000046}#4.0#9#C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLL#Visual Basic For Applications*\G{00020905-0000-0000-C000-000000000046}#8.3#0#D:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLB#Microsoft Word 11.0 Object Library*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\System32\stdole2.tlb#OLE Automation*\CNormal*\CNormalMB(*\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.3#0#C:\Program Files\Common Files\Microsoft Shared\Office10\MSO.DLL#Microsoft Office 10.0 Object Library*\G{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0#C:\WINDOWS\system32\FM20.DLL#Microsoft Forms 2.0 Object Library*\G{1388D86A-BFC8-4B06-AE87-32782083578C}#2.0#0#C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\Word8.0\MSForms.exd#Microsoft Forms 2.0 Object Library.E .`M   EThisDocument0;458d0500ThisDocument[C 㝨)AM$`'WordkVBAWin16~Win32MacVBA6#Project-stdole`NormalOfficeuMSFormsC ThisDocument< _EvaluateDefaultOcxName4&DefaultOcxName3111NDefaultOcxName5111HDefaultOcxName311#DefaultOcxName511՜DefaultOcxName11 .DefaultOcxName211.Documentj`  ID="{67B80D73-B285-4D57-857B-B23493AB0CB2}" Document=ThisDocument/&H00000000 Name="Project" HelpContextID="0" VersionCompatible32="393222000" CMG="5F5D9275AE8B098F098F098F098F" DPB="BEBC73D68D6AED6BED6BED" GC="1D1FD0B37013711371EC" [Host Extender Info] &H00000001={3832D640-CF90-11CF-8E43-00A0C911005A};VBE;&H00000000 &H00000002={000209F2-0000-0000-C000-000000000046};Word8.0;&H00000000 [Workspace] ThisDocument=0, 0, 0, 0, C U\gU\g"U\gThisDocumentThisDocumentPROJECTwm)CompObj1q@@@ NormalCJ_HaJmH sH tH d@d 2$b Heading 1dd@&[$\$#5B* CJKH$OJQJ\aJphf\@\ z; Heading 2$<@& 56CJOJQJ\]^JaJV@V @+ Heading 3$<@&5CJOJQJ\^JaJDA@D Default Paragraph FontRi@R  Table Normal4 l4a (k@(No List4U@4 9 Hyperlink >*ph3fL^@L 9 Normal (Web)dd[$\$ B*phFb@F 2$b HTML CodeCJOJPJQJ^JaJo(e@" 2$bHTML Preformatted7 2( Px 4 #\'*.25@9B*CJOJQJ^JaJphRg@1R 2$bHTML TypewriterCJOJPJQJ^JaJo((OA( 2$bhtml1ph8h@Q8 2$b HTML Variable6].Oa. 2$bdefault2ph.Oq. 2$bkeyword2phw,O, 2$bstring2ph(O( 2$bemphasis4@4 >mHeader  !4 @4 >mFooter  !FV@F ]OFollowedHyperlink >*B* phf\@f=! z-Top of Form$&dPa$<CJOJQJ^JaJl]@l=!z-Bottom of Form$$dNa$<CJOJQJ^JaJ=$KLF  =$ r]^_23iILc7\4pq x y ' ( / 0 1 %Pv./5UV01&-OW^-5=EFGIJKLMNOPQRSY[57GHxyrs{-.^[\z{%&GHVWYZ[\]^_`abcdefghno!!!!!!!!!!!!!!!!"!$!%!@!^!_!`!a!!!!!!!!!!""""""""N""""""# ####.#R#S#T#c################&$'$($7$8$9$:$;$>$00000000000 0 0 000000 0 0 0 0000 0 0 0 00000000000000000000000000 0 0z  0z  0z  0z  0 0  0 0000000000000000000000000000000000000000000000000000000 00 00 000000 000 0 0 0 0 0 0 0 0 0 0 0 000000000000 0000000000000000000000000000000000000000000000000000000000000000@0y00@0y00@0y00@0y00@0@0@0@0y004 000 0 0 0 0 0 0 000000000800000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000y080E%Pv-5=Es{[fghno>${00{00{00000000000000000000ۊ0 0 ?vۊ0 0 ۊ0 0{00ۊ00 @Eۊ00ۊ00ۊ00ۊ00ۊ00ۊ0000@0 ۊ00ۊ0000@000@0ۊ00 tF{00ۊ00 Fۊ00 ۊ00 ۊ00ۊ00ۊ00ۊ00Fۊ00ۊ00{0000000Ŋ| GGGGGJ , ~"')+=,!#%*,/5\Ly c#'a))*S+++++(,=, "$&'()+-.01234678<,.=$X=]_c"$8XZo[[[[[[[ %}; 8FM@pL(  B F   B K   B L   B S  ?GW=$K@tFM^tLtOCXs 1OCXs 2>$>$]j; ]j]j\ ]j ]j ]j ]j ]j "">$"">$8*urn:schemas-microsoft-com:office:smarttagsCity9*urn:schemas-microsoft-com:office:smarttagsState:*urn:schemas-microsoft-com:office:smarttagsStreet;*urn:schemas-microsoft-com:office:smarttagsaddress TaE49JOCFLNRbch@E @ E q v { > C - Z h | !'145ACQW[^kNe  IUXcehVYsz{$9E_f ]eiu!!!!!!!!!!"!$!%!X!]!`!a!"">$=h\` } !/4=Bil $'+.4X\^d^b!!!!!!!!!!"!$!%!`!a!)"*"f"m">$33333333333333333333333333FMVWdgh4Fc!!!!!!!!!!!"!$!%!1!9!=!>!@!P!S!]!`!a!a!f!h!q!!!!!!!!!!!""""""""""""""""# #.#Q#T#c#############%$8$8$>$!!!!!!!!!!"!$!%!`!a!>$ y?Ǵ:%KΟF*tM?tP3B"|&E\1dxE$;[WZXPA`")IiZej+z?\iܱ":PX46I0*\~^"2h>\M2-7        *|s=$:IHc|sdd[4h P4 ==ddjB> 4)&L4E |v4kiPu%4pK)[2|v%;6W;}=$:q+;yWy===$:.>;^?#E|v!_F4acOkiP$DSEVLfYjB Y=$:xk _4gD`2dkq|vh PyWy| Ydd|>W;}=$:mw7n!I%kE&X'n!*@+|.Q/O0w 1(1+6C*76H78t8 A<~-={=]>@&D8D}hD8EYEMF&F \J}JM OO2TO]O+"QlQm|Q(XN[O[| \Od\@]1^Ue^[F_Ga2$be[b9cmdUe{eg 6gk:g,!h'(il"j$/j7jH4lDglQmjms^thGu!vxSlxbKy{|\}f^P,LW&OBjXDpz;Dhij WJqM5)db]ubn^D _?PY,JR Y=PUNud)9k=n$7 b=!rzE#L+|?bqE"GuyW<oy9Z;a??ON4X,kU*5l%*8X|dvv_ SD U}n#pArs{a!!!!!!!!! ####.#R#S#T#c################&$'$($>$3Y0@x =$@UnknownGz Times New Roman5Symbol3& : Arial;Wingdings7&  VerdanaO1 CourierCourier New?5 z Courier New"1h̩F&>Z)<)<!*4d ! !w[ 2QXR ?hGu2(Lab 6  Triggers and Introduction to PHPmckennaadina8           FMicrosoft Office Word Document MSWordDocWord.Document.89q
OrderIDShippingAddressTotalAmount