logo   Boghandel - HTML programmer





Programmerne vises i deres færdige udgave. En del af dem opbygges ikke på en gang, men som en løbende proces.


PDFVi-
deo
Fil
navn mappe type
Betegnelserequire_onceInstanser
1. Introduktion (1-2)
1Generel introduktion til "boghandelen".
2Download det programmel, der hører til kurset.
(Fortsæt ved at trykke på "Continue").
2. Framework (3-13)
Etablering af include_path.
3Instruktion i installation af downloadet programmel.
3index #1
rod
Indhold overføres til:
template|_header.php og
template|_footer.php
Index-filen derefter helt tom.

4index #2
rod
Begyndende beskrivelse af klasser / objekter.
Første kode til index.
inc/autoload.php

4
5
autoload
inc
Framework
Atypisk placeret funktion med navnet "__autoload(). (magic funktion, der starter automatisk). .config.php
($path)

5
6
7
8
config
inc
Framework
Opbygning af "include_path".

8index #3
rod
Framework
Instantierer Core() og udfører run().
inc|autoload.php Core()
9Instruktion i parametre og funktioner (public, protected og private).

10index
pages
Skabelon / template for site-sider
Ikke en del af Framework.
Tilknytning af _header og _footer.
_header.php
_footer.php
3. Database klasse (14-18)
Installation ad database fra downloadede data.
Opsætning af klassen Dbase()
Se også Application nedenfor.
4. OOP (19-20)
19. Instruktion i "static" parametre / funktioner.
20. Om brugen af instantierede klasser og "affected" objekter.
5. Katalog (21-32)
21. Opsætning af klassen Application().
21. Opsætning af klassen Business().
Boghandelens katalog side.
23. Opsætning af klassen Catalog().

21
23
40
_header #1
template
Se også "18 clients area"
21. Instantiering af Business().
23. Instantiering af Catalogue() og liste med kategorier til menu i venstre side.
40. Tilpasning til visning af Basket.
Business()
Catalogue()

25
26
27
28
29
30
31
32
33
36
39
catalogue
pages
HTML-D
Katalogside med bøger i selekteret kategori.
Viser billede, tekst, pris, beskrivelse og "Add to basket" for hver vare.

Starter:
Catalogue|getCategory()
Catalogue|getProducts()
Paging|getRecords()
Catalogue|_path.$row
Catalogue|_path.$row
Helper|getImgSize()
Helper|encodeHtml()
Helper|shortenString()
Basket|activeButton()
Paging|getPaging()
error.php
_header.php
_footer.php
Catalogue()
Paging()
Url::
Helper::
Basket::
6. Paginering (33-39)
33, 34, 35, 36, 37, 38. Opsætning af klassen Paging().
7. Lille indkøbskurv (40-52)
Lille indkøbskurv placeret øverst til venstre i "header". Kommunikation med data i $_SESSION via Ajax.

40basket_left #1
mod
Design af og variabler i lille indkøbskurv i øverste venstre hjørne (i _header). Ajourføres via Ajax.

Starter:
Basket|_number_of_items
Basket|_sub_total
Basket|_vat
Basket|_total

41
42
43
basket.js #1
js
Download af jQuery til fil "js.jquery... .js". Link indsættes i _footer.
Javascript der erstatter bowseren ved kommunikation med serveren under Ajax. ("Hjertet" i Ajax).
Form opbygges med javaScript + jQuery
Programmet udføres ved tryk på knappen "Add to basket" / "Remove from basket".
Funktionsbaseret.
Bruges af både inc/basket og pages/basket.
Funktioner i basket.js:
refreshSmallBasket()Lytter efter response og opdaterer basket_left.
if ($(".add_to_---

41_footer
template
Tilknytning af javaScript filer

44basket
mod
PHP
Lille kurv: Behandler request-data Ajax har fremsendt til serveren og klargøre de response-data Ajax returnerer til klienten.

Starter:
Catalogue|getProduct()
../inc/autoload.php Catalogue()
Session::
46
47
basket.js #2
js

48basket_small_refresh
mod
Opdaterer basket-vinduet fra Basket().../inc/autoload.php Basket()
52basket_left #2
mod
Instantierer Basket() og opdaterer indhold i "span".Basket()
8. Indkøbskurv - side (53-65)
Stor indkøbskurv på siden "Basket". Kommunikation og data som "lille" kurv.

53
54
catalogue_item
pages
Helskærm med selekteret vare. "Add to basket" / "Remove from basket" og "Go back".

Starter:
Catalogue|getProduct()
Catalogue|getCategory()
_header.php
_footer.php
error.php
Catalogue()
Url::
Helper::

55
56
57
58
59
60
61
basket
pages
Stor kurv: Viser data for "købte" varer med 1 linie pr vare, samt moms sub-total og total - altsammen indlejret i FORM. Mulighed for at ændre antal / slette.
Henter data fra $_SESSION('basket').
Åbnes fra "View basket" under "lille indkøbskurv".

Starter:
Catalogue|getProduct()
Basket|itemTotal()
Basket|_vat_rate
Basket|_vat()
Basket|_total
_header.php
_footer.php
Basket()
Catalogue()
Session::
Helper::
61
62
65
basket.js #3
js
61
62
65
initBinds()Sikrer at bindinger (mængder i stor og lille kurv) fungerer ved ændring af mængder i basket.php
Starter updateBasket()
61updateBasket()Opdaterer lille" kurv med ajax og basket_qty.php fra FORM i basket.php.
Starter refreshSmallBasket() og refreshBigBasket().
62refreshBigBasket()Opdaterer "stor" kurv med ajax og basket_view.php.
65removeFromBasket()Sletter vare fra kurv med ajax basket_remove.php.
Starter refreshSmallBasket() og refreshBigBasket().

63basket_qty
mod
PHP
Knyttet til Ajax|updateBasket().
Returnerer opdateret mængde til klienten til opdatering af "Lille" og "Stor" kurv.
../inc/autoload.php Catalogue()
Session::

64basket_view
mod
PHP
../inc/autoload.php Basket()
Catalogue()
Session::
Helper::
Basket::

65basket_remove
mod
PHP
Knyttet til Ajax|removeFromBasket(). Sletter aktuel vare fra kurv.../inc/autoload.php Session::
9. Leveringsadresse - "Checkout" (66-69)
Form til forsendelsesadresse. Default data tilføjes i sektionen "Order summary".

66
67
69
77
checkout #1
pages
Form med kundens adressedata, validering , drop down og INSERT

Starter:
User|getUser()
Form|isPost()
Valid|_expected
Valid|_required
Valid-|special
User|updateUser
Valid|_post
Valid|validate
Form|stickyText
Form|getCountriesSelect()
_header.php
_footer.php
User()
Form()
Validation()
Login::
Session::
Helper::
10. Validering (70-77)
70
77
78
checkout #2
pages
77. Indsættelse af "validation"-kode.
78. Indsættelse af login-kode.
Validation()
11. Login (78-85)

80
81
82
83
84
85
login #1
pages
Form til login med brugernavn, password og submit.
Form til indlæggelse af kundestamdata incl. submit.
Anden funktionalitet knyttet til etablering af kundestamdata.
_header.php
_footer.php

Form()
Validation()
User()
Login::
Helper::
Url::
12. Registrering (86-100)
Brugerens indsættelse af egne stamdata incl. brugernavn og password.
Afsluttes med at brugeren aktiverer stamdataene fra tilsendt mail.
Skal være etablerede for at brugeren kan gennemføre køb.
86
87
88
89
100
login #2
pages
Anden funktionalitet knyttet til etablering af kundestamdata incl. opdatering af DB.

89registered
pages
Side med simpel tekstbesked om at registrering af stamdataene er foretaget. Skal aktiveres via framsendt mail for at kunne bruges._header.php
_footer.php


89registered-failed
pages
Side med simpel tekstbesked om, at registrering af stamdataene mislykkedes. Prøv igen senere._header.php
_footer.php


95
96
1
emails
Tekst til den email, der sendes til kunden fra funktionen Email | process.
Fra programmets "link" kan brugeren aktivere programmet "activate.php".
Core()

98
99
activate
pages
Startes fra den mail, der er sendt til brugeren.
Efter "getUserByHash()" og "makeActive()" gives relevant svar vedr. aktivering til brugeren.
_header.php
_footer.php

User()
Url::
Helper::
13. Ordre summary(101-108)
Opbygger ordreoversigt ud fra Basket. Knapper til fortsættelse til Paypal eller retur til Basket.
102
checkout #3
pages
Indlægger defaultdata i kundestamdata-formen. Rettelser kan indtastes. UPDATE DB-client. User()

104
105
summary #1
pages
Hentning af kurvedata fra basket. Indlæggelse af varedata i tabel (varenavn, mængde, pris),subtotal, moms, total. To submit-knapper: Proceed to Paypal og Amend Order.
Klargør til Paypal med "$token1" og "$token2".
_header.php
_footer.php
Basket()
Catalogue()
Login::
Session::
107basket.js #2
js
Klargør til overførsel til PayPal.
Opbygming af "image" = arbejdeIgangGif.
107summary #2
pages
Indsæt "image" fra basket.js i HTML-format.
108basket.js #3
js
Opkobling til Paypal via Ajax og paypal.php.
14. Ordre (109-113)
Modtager returdata fra Ajax. INSERT ordredata i orders og orders_items i DB. Selekterer fra DB-orders og DB-order_items.

109
113
paypal #1
mod
$token1 modtages retur fra Ajax og sammenlignes med $token2.
INSERT ordredata i DB-orders og DB-orderItems med createOrder()
SELECT fra DB-orders og DB-orderItems til $order[] og $items[] til brug i PayPal.

Starter:
109 Form | getPost()
createOrder()
getOrder()
getOrderItems()
autoload.php Form()
Order()
Basket()
Catalogue()
Paypal()
User()
Country()
Session::
Login::
15. Paypal (114-125)
Klargøring af data til PayPal og overførsel med Ajax.
114
118
119
paypal #2
mod
Etabler order(), items() og populate() arrays med vare- og adressedata til overførsel til PayPal.
Starter:
addProduct()
Catalogue|getProduct()
Basket|vat
User|getUser()
Country|getCountry
run()
Basket()
Catalogue()
Paypal()
User()
Country()
Session::
Login::
16. Sandkasse (126-130)
126 Oprettelse af sandbox hos PayPal
127 Visning af kundes brugerinterface hos PayPal.
128 Demo af Admin hos PayPal.
Afslutning af ordren med enten accept og sletning af Basket eller fejlmeddelelse.

129
130
return
pages
Tømning af Basket og tak til kunden for ordren._header.php
_footer.php
Session::

129
130
cancel
pages
Fejl prøv igen_header.php
_footer.php
Completed - template
17. IPN - Instant Payment Notification (131-139)
Omfattende håndtering af automatisk tilbagesvar fra PayPal ved betaling.
136 Indsættelse af nye statusdata i DB-orders og etablering af logfil. (Hverken saveLog() eller mappen "log" er indeholdt i downloaded kode).
137 Information om, at live test ikke kan foretages i udviklingsmiljø, men kun i aktivt miljø. Derefter test.
138 Sletning af logfil og ombygning af PayPal|ipn() og Order|approve() funktioner til UPDATE af DB-orders med log-dataene.
139 Test af IPN.

131ipn
pages
Starter:
Paypal()
18. Clients area (140-148)
Siden "My Orders"
140_header #2
template
Indsættelse af Login/Logud-kode. basket_left.php Catalogue()
Business()
Login::
Session::
Helper::

141
143
orders
pages
SELECT og viser data for kundens tidligere ordrer. Link til visning af fakturaer på "invoice.php".
Starter:
getClientOrders()
Paging|getRecords()
getStatus
_header.php
_footer.php
Order()
Paging()
Login::
Session::
Helper::

144
145
146
147
invoice
pages
Viser faktura for selekteret tidligere ordre. Hvid side uden _header og _footer.

Starter:
Order|getOrder
Order|getOrderItems
User|getUser
Business|getBusiness
Country|getCountry
Catalog|getProduct
Order()
Catalogue()
User()
Country()
Business()
Basket()
Login::
Url::
Session::

148logout
pages
Logud fra FrontEnd.

Udfører:
Login::
Admin - CMS
19. Kontrol panel (149-156)
149index
admin
(Admin-side)
Starter:
Core|run()
autoload.php Core()

149
151
152
154
155
index
pages - admin
(Admin-side)
Etablering af login til admin.

Starter:
Validation|validate()
Form|getPost()
Post|getPost
Validation|add2Errors
loginAdmin
template/ _header.php
template/ _footer.php
Form()
Validation()
Admin()

149
150
_header - admin
template
Header til include i Admin HTML-sider.
Indeholder også Admin-menu.
basket_left.php Catalogue()
Business()
Login::
Session::
Helper::

149_footer - admin
template
Footer til include i Admin HTML-sider.

156error - admin
pages
Vises ved adskillige former for admin fejl.template/ _header.php
template/ _footer.php

156
157
products - admin
pages
"Menu" for programmer, der skal benyttes til vedlh. af DB-products i forskellige situationer.template/ _header.php
template/ _footer.php
20. Produkter (157-178)
Visning og vedligehold af DB-products (varestamdata). Se også 157 ovenfor).

157
158
159
160
list - admin
products
Liste med varestamdata ('like' eller alle) med paging. For hver vare links til "Remove" og "Edit". Link til "opret ny vare".

Starter:
Catalogue|getAllProducts
Paging|getRecords
Paging|getPaging()
template/ _header.php
template/ _footer.php
Catalogue()
Url::
Paging()

157
163
166
170
171
add - admin
products
Form etc. (incl. billede) til INSERT af stamdata for ny vare. Startes fra list.php.

Starter:
Catalogue|getCategories()
Form|stickySelect()
Form|stickyText()
Validation|isValid()
Catalogue|addProduct(()
Catalogue|updateProduct()
template/ _header.php
template/ _footer.php
Form()
Validation()
Catalogue()
Upload()
Helper::

157
170
172
added - admin
products
Info at indsatte record er blevet oprettet og billede indsat. Link til stamdataliste.

Startes fra add.php.
template/ _header.php
template/ _footer.php
Url::

157
170
172
added-no-upload - admin
products
Info at indsatte record er blevet oprettet. Link til stamdataliste.
Startes fra add.php.
template/ _header.php
template/ _footer.php
Url::

157
170
172
added-failed - admin
products
Info om problem med indtastede record. Kontakt administrator.
Startes fra add.php.
template/ _header.php
template/ _footer.php

157
173
174
edit - admin
products
Form etc. (incl. billede) til UPDATE af stamdata for vare valgt i liste med varestamdata. Billeder kan indgå i rettelsen (se Edit|174).
Startes fra list.php

Starter:
Catalogue|getProduct()
Catalogue|UpdateProduct()
Upload|upload()
Upload|names()
Form|stickyText()
Validation|validate()
template/ _header.php
template/ _footer.php
Url::
Catalogue()
Form()
Validation()
Upload()
Helper::

157
175
edited - admin
products
Info at selekterede record er blevet rettet incl. billede. Link til stamdataliste.
Startes fra edit.php.
template/ _header.php
template/ _footer.php
Url::

157
175
edited-no-upload - admin
products
Info at selekterede record er blevet rettet. Link til stamdataliste.
Startes fra edit.php.
template/ _header.php
template/ _footer.php
Url::

157
175
edited-failed - admin
products
Info om problem med indtastede record. Kontakt administrator.
Startes fra edit.php.
template/ _header.php
template/ _footer.php

157
176
177
178
remove - admin
products
Efter info med Ja / Nej. DELETE selekterede record.
Startes fra list.php

Starter:
Catalogue|getProduct()
Catalogue|removeProduct()
template/ _header.php
template/ _footer.php
Url::
Catalogue()
Helper::
21. Kategorier (179-186)
Visning og vedligehold af DB-categories.

179categories - admin
categories
"Menu" for programmer, der skal benyttes til vedlh. af DB-categories i forskellige situationer.categories|add.php
categories|added.php
categories|added-failed.php
categories|edit.php
categories|edited.php
categories|edited-failed.php
categories|remove.php
categories|list.php
Login::
Url::

180list - admin
categories
Liste med stamdata for kategorier. For hver kategori links til "Remove" og "Edit". Link til "opret ny kategori".

Starter:
Catalogue|getCategories()
Paging|getRecords()
Paging|getPaging()
template/ _header.php
template/ _footer.php
Catalogue()
Paging()
Helper::

181add - admin
categoriess
Form etc. til INSERT af stamdata for ny kategori. Startes fra list.php.

Starter:
Form|isPost()
Validation|_expected
Validation|_required()
Validation|_message()
Form|getPost()
Catalogue|duplicateCategory()
Validation|add2Errors()
Validation|isValid()
Catalogue|addCategory()
Validation|validate()
Form|stickyText()
template/ _header.php
template/ _footer.php
Form()
Validation()
Catalogue()
Helper::
Url::

183added - admin
categories
Info at indsatte kategori er blevet oprettet. Link til stamdataliste for kategorier.

Startes fra add.php.
template/ _header.php
template/ _footer.php
Url::

183added-failed - admin
categories
Info om problem med indtastede record. Kontakt administrator.
Startes fra add.php.
template/ _header.php
template/ _footer.php

184
185
edit - admin
categories
Form etc. til UPDATE af stamdata for kategori valgt i liste med kategoristamdata.
Startes fra list.php

Starter:
Catalogue|getCategory()
Form|isPost()
Form|getPost()
Catalogue|duplicateCategory()
Validation|add2Errors()
Validation|isValid()
Catalogue|updateCategory()
Validation|_validate()
Form|stickyText()
template/ _header.php
template/ _footer.php
Url::
Catalogue()
Form()
Validation()
Url::
Helper::

185edited - admin
categories
Info at selekterede record er blevet rettet. Link til stamdataliste.
Startes fra edit.php.
template/ _header.php
template/ _footer.php
Url::

186edited-failed - admin
categories
Info om problem med opdaterede record. Kontakt administrator.
Startes fra edit.php.
template/ _header.php
template/ _footer.php

186remove - admin
categories
Efter info med Ja / Nej. DELETE selekterede record.

Startes fra list.php
Starter:
Catalogue|getCategory()
Catalogue|removeCategory()
template/ _header.php
template/ _footer.php
Url::
Catalogue()
Helper::
22. Ordrer (187-199)
Visning og vedligehold af DB-orders (men ikke DB-orders_items).

187orders - admin
pages
"Menu" for programmer, der skal benyttes til vedlh. af DB-orders i forskellige situationer.orders|edit.php
orders|edited.php
orders|edited-failed.php
orders|remove.php
orders|invoice.php
orders|list.php
Url::

188
189
190
list - admin
orders
Liste med data fra ordre-top ('like' på ordrenr. eller alle) med paging. For hver ordre links til "Remove" og "View".

Starter:
Orders|getOrders()
Paging()|getRecords
Order|getStatus()
template/ _header.php
template/ _footer.php
Order()
Paging()
Helper:: Url::

191
192
193
194
195
196
197
edit - admin
orders
Visning af ordredata (items og top). Form til vedlh. af Order Status og Notes. UPDATE af DB. Knapper til 'Go back' Update' og 'Invoice'.
Startes fra list.php

Starter:
Order|getOrder()
User|getUser()
Order|fetOrderItems()
Order|getStatuses()
Form|getPostArray()
Validation|_expected
Validation|_required
Order|updateOrder()
Catalogue|getProduct()
Country|getCountry()
Validation|validate()
Form|stickySelect()
Form|stickyText()
template/ _header.php
template/ _footer.php
Order()
Form()
Validation()
User()
Country()
Catalogue()
Url::
Helper::

198invoice - admin
orders
Viser faktura fra order|edit. Hvid side uden _header og _footer.

Starter:
Order|getOrder
Order|getOrderItems
User|getUser
Business|getBusiness
Country|getCountry
Catalog|getProduct
Basket|itemTotal()
Order()
Catalogue()
User()
Country()
Business()
Basket()
Url::

199edited - admin
orders
Info at selekterede faktura er blevet rettet. Link til ordreliste.
Startes fra invoice.php.
template/ _header.php
template/ _footer.php
Url::

199edited-failed - admin
orders
Info om problem med opdaterede faktura. Kontakt administrator.
Startes fra invoice.php.
template/ _header.php
template/ _footer.php

199remove - admin
orders
Efter info med Ja / Nej. DELETE selekterede order (både top og items).

Startes fra list.php
Starter:
Order|getOrder
Oeder()|removeOrder()
template/ _header.php
template/ _footer.php
Order()
Url::
Helper::
23. Clients (Kunder) (200-206)
Vedligehold af DB-clients.

200clients - admin
pages
"Menu" for programmer, der skal benyttes til vedlh. af DB-clients i forskellige situationer.clients|edit.php
clients|edited.php
clients|edited-failed.php
clients|remove.php
Login::
Url::

200
201
202
list - admin
clients
Form med 'like' på kundenr. eller blank=alle. Liste med paging for selekterede klienter (for- og efternavn). For hver kunde links til "Remove" og "Edit".

Starter:
User|getUsers()
Paging()|getRecords
Order|getClientOrders()
Paging()|getPaging
template/ _header.php
template/ _footer.php
User()
Order()
Paging()
Helper:: Url::

203
204
edit
admin - clients
UPDATE af kundernes stamdata.

Starter:
User|getUser()
Form|isPost()
Validation|_expected
Validation|_required
Validation|_special
Form|getPost()
User|getByEmail()
Validation|add2Errors()
Validation|isValid()
User|updateUser()
Validation|_post
Validation|validate()
Form|stickyText()
Form|getCountriesSelect()
template/_header.php
template/_footer.php
User()
Form()
Validation()
Url::
Helper::

204edited - admin
clients
Info at selekterede client stamdata er blevet rettet. Link til ordreliste.
Startes fra edit.php.
template/ _header.php
template/ _footer.php
Url::

204edited-failed - admin
clients
Info om problem med opdaterede client stamdata. Kontakt administrator.
Startes fra edit.php.
template/ _header.php
template/ _footer.php

205
206
remove - admin
clients
Efter info med Ja / Nej. Efter kontrol af, at kunden ingen ordrer har: DELETE selekterede client stamdata.
Startes fra list.php

Starter:
User|getUser()
Order|getClientOrders()
User|removeUser
template/ _header.php
template/ _footer.php
User()
Order()
Url::
Helper::
24. Business (207-211)
Vedligehold af DB-business. (Insert foretaget !!!!!! ovenfor.)

207business - admin
pages
"Menu" for programmer, der skal benyttes til vedlh. af DB-business i forskellige situationer.business|edited.php
business|edited-failed.php
business|edit.php
Login::
Url::

207
208
209
210
edit
admin - business
Form til vedligehold af felter og derefter UPDATE af virksomhedens adressedata etc.

Starter:
Business|getBusiness()
Form|isPost()
Validation|_expected
Validation|_required
Validation|_special
Form|getPostArray()
Business|updateBusiness()
Validation|validate()
Form|stickyText()
template/_header.php
template/_footer.php
Business()
Form()
Validation()
Url::
Helper::

210edited - admin
business
Info at DB-business stamdataene er blevet rettet.
Startes fra edit.php.
template/ _header.php
template/ _footer.php
Url::

210edited-failed - admin
business
Info om problem med opdateringen af DB-business stamdataene. Kontakt administrator.
Startes fra edit.php.
template/ _header.php
template/ _footer.php
211logout
admin - business
Logud fra Backend.

Udfører:
Login::




























































x
x