Adobe Dreamweaver CS3 - PHP5 Ontwerpen van webapplicaties met PHP en MySQL
Versie 1.0 - September 2007 Adobe, Macromedia, Dreamweaver, Fireworks en Flash zijn handelsmerken of gedeponeerde handelsmerken van Adobe Systems, Inc. in de Verenigde Staten en/of andere landen. Alle overige handelsmerken en merknamen zijn eigendom van hun respectieve eigenaars. Speciale dank aan Lieve en Guy voor hun meer dan gewaardeerde medewerking. 1
Verhaert, Patrick –Dreamweaver PHP CS3 / Patrick Verhaert; Geel: Campinia Media vzw, 2007; 493 p; index; 25 cm; gelijmd. ISBN: 97890.356.1215.0; NUGI 854; UDC 681.3.06; Wettelijk depot België: D/2007/3941/9 Campinia Media vzw Kleinhoefstraat 4 B – 2440 – GEEL (Belgium) Tel.: (+32) 014/59 09 59 Fax: (+32) 014/59 03 44 e-Mail:
URL: <www.campiniamedia.be> Copyright 2007:
No part of this book may be reproduced in any form, by print, photoprint, microfilm or any other means without written permission of the publisher. Niets uit deze uitgave mag worden verveelvoudigd en/of openbaar gemaakt door middel van druk, fotokopie, print, microfilm of op welke andere wijze ook, zonder voorafgaande schriftelijke toestemming van de uitgever.
Inhoud 1 Introductie. ..........................................................................................................15 1.1 Historiek...................................................................................................................15 1.2 Voorkennis. ..............................................................................................................16 1.3 Conventies...............................................................................................................16 1.4 Systeemvereisten. ...................................................................................................16 1.4.1 Microsoft-Windows........................................................................................16 1.4.2 Mac-OS. ........................................................................................................17 1.5 De helpfunctie..........................................................................................................17 1.6 Extensies. ................................................................................................................17 1.7 Dreamweaver updates.............................................................................................18
2 Statische en dynamische websites...................................................................19 2.1 Statische vs. dynamische websites. ........................................................................20 2.1.1 Statische webpagina's. .................................................................................20 2.1.2 Statische website. .........................................................................................20 2.1.3 Dynamische webpagina's. ............................................................................20 2.1.4 Dynamische website of Webapplicatie..........................................................21 2.2 Ondersteunde servermodellen in Dreamweaver CS3. ............................................21 2.2.1 PHP. ..............................................................................................................21 2.2.2 Active Server Pages (ASP). ..........................................................................22 2.2.3 ASP.NET........................................................................................................22 2.2.4 Java Server Pages (JSP)..............................................................................22 2.2.5 ColdFusion. ...................................................................................................22
3 Apache, PHP en MySQL installeren. .................................................................23 3.1 Productieserver (live server) en testserver. .............................................................24 3.1.1 Verborgen map of subdomein op de productieserver. ..................................25 3.1.2 Lokale testserver. ..........................................................................................25 3.1.3 Externe testserver. ........................................................................................26 3.2 Testomgeving installeren op Windows (WAMP). .....................................................26 3.2.1 WAMP5 installeren........................................................................................26 3.2.2 WAMP5 starten en stoppen. .........................................................................27 3.2.3 Pagina's openen vanaf een ander toestel binnen het netwerk. ...................28 3.2.5 Microsoft IIS en Apache samen gebruiken....................................................29 3.3 Testomgeving installeren op Mac OSX (MAMP)......................................................30 3.3.1 MAMP installeren. .........................................................................................31 3.3.2 MAMP configureren. .....................................................................................32 3.3.3 Pagina's openen vanaf een ander toestel binnen het netwerk. ...................34 3.3.4 MAMP opwaarderen en wissen. ...................................................................34 3.4 Een geschikte productieserver zoeken....................................................................34 3.5 Bronnen. ..................................................................................................................35
4 Alias onder Apache.............................................................................................37 4.1 Map binnen de rootfolder. ........................................................................................38 4.2 Map buiten de rootfolder toegankelijk maken. .........................................................39 4.2.1 Een alias toevoegen vanuit WAMP5.............................................................39 4.2.2 Een alias (symlink) toevoegen vanuit MAMP. ...............................................40 4.3 Default homepage en Directory Browsing. ..............................................................42 Inhoud - 3
4.4 Lesmateriaal bij dit handboek. .................................................................................44 4.4.1 Lesmateriaal installeren op PC. ....................................................................44 4.4.2 Lesmateriaal installeren op Macintosh..........................................................44 4.5 Bronnen. ..................................................................................................................45
5 Dynamische website definiëren. .......................................................................47 5.1 Een alias of Symlink toevoegen aan de testserver. .................................................47 5.2 Nieuwe website definiëren in Dreamweaver............................................................48 5.2.1 Local info.......................................................................................................48 5.2.2 Remote info...................................................................................................49 5.2.3 Testing Server. ..............................................................................................49 5.2.4 URL Prefix testen. .........................................................................................50 5.2.5 Connecteren met de testserver. ....................................................................51 5.3 Nieuwe PHP-pagina aanmaken in Dreamweaver....................................................52 5.4 Live Data view..........................................................................................................53 5.4.1 Preview in Browser........................................................................................53 5.4.2 Rechtstreeks openen in een browser............................................................54 5.4.3 Live Data view. ..............................................................................................54
6 Inleiding tot PHP..................................................................................................57 6.1 Syntaxis. ..................................................................................................................59 6.2 PHP-delimiters.........................................................................................................59 6.2.1 Opdracht 1 ....................................................................................................60 6.3 Commentaar. ...........................................................................................................61 6.4 Het configuratiebestand php.ini. ..............................................................................62 6.5 Foutafhandeling. ......................................................................................................63 6.6 Variabelen................................................................................................................63 6.6.1 Variant. ..........................................................................................................63 6.6.2 Soorten variabelen. .......................................................................................65 6.7 Arrays.......................................................................................................................67 6.8 Echo() en print().......................................................................................................67 6.9 Operatoren...............................................................................................................67 6.9.1 Rekenkundige operatoren.............................................................................67 6.9.2 Vergelijkende operatoren. .............................................................................68 6.9.3 Logische operatoren. ....................................................................................69 6.9.4 String operatoren. .........................................................................................69 6.10 Voorwaardelijke instructies. ...................................................................................70 6.10.1 If-else. .........................................................................................................70 6.10.2 Opdracht 2. .................................................................................................73 6.10.3 Opdracht 3. .................................................................................................74 6.10.4 Verkorte if-else notatie ................................................................................75 6.11 Lussen. ..................................................................................................................78 6.11.1 For. ..............................................................................................................78 6.11.2 While. ..........................................................................................................79 6.11.3 do-while. ......................................................................................................80 6.11.4 Foreach. ......................................................................................................82 6.12 Functies. ................................................................................................................83 6.12.1 Scoop van variabelen..................................................................................84 6.12.2 Globale variabelen. .....................................................................................85 6.12.3 Server Side Include.....................................................................................86 4 - Dreamweaver CS3 - PHP5
6.13 Bronnen. ................................................................................................................88
7 Formulieren en superglobals.............................................................................89 7.1 Formulieren..............................................................................................................90 7.2 Datatype controleren en converteren. .....................................................................91 7.2.1 Datatype controleren.....................................................................................91 7.2.2 Datatype converteren....................................................................................92 7.3 Superglobal variabelen. ...........................................................................................93 7.4 $_GET......................................................................................................................94 7.4.1 Opdracht 1. ...................................................................................................97 7.5 $_POST. ................................................................................................................106 7.5.1 Opdracht 2. .................................................................................................106 7.6 $_SERVER en $_ENV. ..........................................................................................110 7.7 $_COOKIE. ............................................................................................................111 7.8 $_SESSION. ..........................................................................................................114 7.8.1 Een sessie starten.......................................................................................115 7.8.2 Session_id en timeout. ................................................................................115 7.8.3 Een sessievariabele aanmaken. .................................................................117 7.8.4 Waarde van een sessievariabele uitlezen. ..................................................117 7.8.5 Sessievariabelen wissen. ............................................................................118 7.8.6 Een sessie beëindigen. ...............................................................................118 7.8.7 Login met sessievariabelen.........................................................................118 7.9 Isset().....................................................................................................................122 7.10 Variabelen: een vergelijkend overzicht. ...............................................................122 7.11 Bronnen. ..............................................................................................................122
8 Ingebouwde PHP functies. ...............................................................................123 8.1 Overzicht van PHP functies. ..................................................................................123 8.1.1 Officiële PHP website..................................................................................123 8.1.2 Code Hints in Dreamweaver. ......................................................................126 8.2 String functies. .......................................................................................................128 8.2.1 Bepaal het aantal karakters in een string....................................................128 8.2.2 Zet een string om in hoofdletters/kleine letters. ..........................................128 8.2.3 Selecteer een aantal karakters in een string...............................................129 8.2.4 Verwijder spaties vooraan en achteraan een string. ...................................129 8.2.5 Converteer een string naar een array. ........................................................130 8.2.6 Converteer een array naar een string. ........................................................130 8.2.7 Vervang één of meerdere karakters in een string. ......................................131 8.2.8 Bepaal de positie van een sequentie binnen een string. ............................131 8.2.9 Vergelijk twee strings met elkaar.................................................................132 8.2.10 MD5 en SHA-1 hash. ................................................................................132 8.2.11 Magic quotes. ............................................................................................132 8.2.12 Zet alle elementen in een willekeurige volgorde. ......................................133 8.3 Array functies. ........................................................................................................134 8.3.1 Bepaal het aantal elementen in een array...................................................134 8.3.2 Sorteer een array. .......................................................................................134 8.3.3 Wis het laatste element in een array. ..........................................................135 8.3.4 Voeg één of meerdere elementen toe aan een array..................................136 8.3.5 Zet alle elementen in een willekeurige volgorde. ........................................136 8.4 Mathematische functies. ........................................................................................137 Inhoud - 5
8.4.1 Getallen afronden........................................................................................137 8.4.2 Genereer een willekeurig getal. ..................................................................137 8.4.3 Bepaal de absolute waarde van een getal. .................................................138 8.4.4 Getallen formatteren. ..................................................................................138 8.5 Datum- en tijdfuncties. ...........................................................................................139 8.5.1 Huidige datum en tijd weergeven................................................................139 8.5.2 Datum en tijd formatteren als een string. ....................................................140 8.5.3 Datum en tijd formatteren als een string, volgens de lokale settings. .........140 8.5.4 Bepaal de UNIX timestamp voor een bepaalde datum. ..............................141 8.5.5 Bepaal de UNIX timestamp van een tekstuele datumomschrijving.............142 8.5.6 Tijdzone uitlezen en aanpassen.................................................................142 8.6 Datum en getallen vertalen....................................................................................143 8.6.1 Definieer lokale informatie...........................................................................144 8.6.2 Formatteer een datum volgens de lokale settings. .....................................145 8.6.3 Formatteer een getal volgens de lokale settings.........................................145 8.7 Reguliere expressies. ............................................................................................146 8.7.1 Basissyntaxis van reguliere expressies. .....................................................146 8.7.2 Letterlijke waardes of literals.......................................................................146 8.7.3 Metatekens..................................................................................................146 8.7.4 Groepen en ranges. ....................................................................................147 8.7.5 Een combinatie van bepaalde karakters. ....................................................148 8.7.6 Een string valideren met een tekstpatroon. ................................................149 8.8 Headerinformatie aanpassen.................................................................................150 8.8.1 Een pagina doorverwijzen...........................................................................150 8.8.2 Een pagina niet cachen...............................................................................151 8.8.3 Het contenttype aanpassen. .......................................................................151 8.8.4 De niet-verwerkte broncode tonen. .............................................................152 8.9 Output bufferen......................................................................................................153 8.10 Opdrachten. .........................................................................................................154 8.10.1 Welkom bij PHP ........................................................................................154 8.10.2 Maak de som.............................................................................................154 8.10.3 De maaltafel. .............................................................................................155 8.10.4 Dobbelen...................................................................................................155 8.10.5 Wiskundige bewerkingen. .........................................................................156 8.10.6 Paswoordgenerator. ..................................................................................156 8.10.7 Pagina-inhoud wijzigen in functie van de tijd. ...........................................157 8.10.8 Rijksregisternummer .................................................................................158 8.10.9 Zoekmachines...........................................................................................159 8.11 Bronnen. ..............................................................................................................160
9 Apache en PHP configuratie via .htaccess.....................................................161 9.1 Dreamweaver configureren. ..................................................................................162 9.2 PHP eigenschappen aanpassen. ..........................................................................162 9.3 Gepersonaliseerde foutpagina's. ...........................................................................164 9.4 Bestandsindex uitschakelen. .................................................................................165 9.5 Bestanden uit de index verwijderen.......................................................................166 9.6 De inhoud van een bestand afschermen. ..............................................................166 9.7 Alternatieve startpagina. ........................................................................................167 9.8 Gebruikers blokkeren.............................................................................................167 9.9 Hotlinks blokkeren. ................................................................................................168 6 - Dreamweaver CS3 - PHP5
9.10 Paswoordbeveiliging............................................................................................168 9.11 .htaccess en password.txt overzetten naar de productieserver. ..........................170 9.12 Bronnen. ..............................................................................................................171
10 Server behaviors.............................................................................................173 10.1 Een Server Behavior zonder parameters aanmaken...........................................174 10.2 Een Server Behavior met parameters aanmaken................................................176 10.3 Toepassing 1........................................................................................................179 10.4 Een Server Behavior bewerken en/of wissen. .....................................................182 10.5 Uw persoonlijke Server Behavior verspreiden.....................................................183 10.5.1 BewaarCookie.mxi. ...................................................................................185 10.5.2 BewaarCookie.htm....................................................................................187 10.5.3 BewaarCookie.edml. .................................................................................187 10.5.4 BewaarCookie_block1.edml......................................................................188 10.5.5 BewaarCookie.mxp-bestand aanmaken. ..................................................189 10.5.6 BewaarCookie.mxp installeren..................................................................189 10.5.7 BewaarCookie.mxp verspreiden. ..............................................................191 10.5.8 Samenvatting. ...........................................................................................191 10.6 Extra Server Behaviors downloaden en installeren. ............................................191 10.7 Bronnen. ..............................................................................................................192
11 MySQL Database server. ................................................................................193 11.1 Tabellen................................................................................................................193 11.2 Primaire sleutel. ...................................................................................................194 11.3 Database normalisatie. ........................................................................................195 11.4 Externe of secundaire sleutel...............................................................................196 11.5 Referentiële integriteit. .........................................................................................196 11.6 Kolommen indexeren. ..........................................................................................196 11.7 Datatypen in MySQL............................................................................................196 11.7.1 Getallen. ....................................................................................................196 11.7.2 Strings. ......................................................................................................197 11.7.3 Datum en tijd. ............................................................................................197 11.7.4 Binaire data. ..............................................................................................197 11.7.5 Voorgedefinieerde waardes.......................................................................198 11.7.6 Booleaanse waardes.................................................................................198 11.8 phpMyAdmin. .......................................................................................................198 11.8.1 Gebruikers beheren...................................................................................198 11.8.2 Een nieuwe gebruiker aanmaken..............................................................199 11.8.3 Een rootpaswoord instellen (enkel op PC). ...............................................200 11.8.4 Een nieuwe database aanmaken. .............................................................201 11.8.5 Gegevens manueel invullen. .....................................................................202 11.8.6 Gegevens importeren................................................................................204 11.8.7 Relaties leggen tussen tbl_boeken en tbl_auteurs....................................204 11.8.8 Een database exporteren. .........................................................................205 11.8.9 Database wissen. ......................................................................................206 11.9 De database overbrengen naar de productieserver.............................................206 11.10 Besluit. ...............................................................................................................207 11.11 Bronnen..............................................................................................................208
Inhoud - 7
12 Inleiding tot SQL. ............................................................................................209 12.1 Virtuele map toevoegen aan de testserver. .........................................................209 12.2 Nieuwe website definiëren in Dreamweaver........................................................209 12.3 De database importeren. .....................................................................................211 12.4 Over de database. ...............................................................................................212 12.5 De databaseconnectie. ........................................................................................212 12.6 Alle records uit een tabel tonen (SELECT). .........................................................214 12.6.1 SQL-instructie. ..........................................................................................214 12.6.2 In Dreamweaver. .......................................................................................214 12.7 Records sorteren (ORDER BY). ..........................................................................217 12.7.1 SQL-instructie. ..........................................................................................217 12.7.2 In Dreamweaver. .......................................................................................218 12.8 Specifieke kolommen uit een tabel selecteren. ...................................................220 12.8.1 SQL-instructie. ..........................................................................................220 12.8.2 In Dreamweaver. .......................................................................................220 12.9 Een recordset filteren op één criterium (WHERE). ..............................................221 12.9.1 SQL-instructie. ..........................................................................................221 12.9.2 In Dreamweaver. .......................................................................................222 12.10 Een recordset filteren via een zoekopdracht. ....................................................223 12.11 Een recordset filteren op meerdere criteria........................................................225 12.12 Gegevens aan de database toevoegen (INSERT). ...........................................227 12.12.1 SQL-instructie. ........................................................................................227 12.12.2 In Dreamweaver. .....................................................................................227 12.13 Gegevens aanpassen (UPDATE). .....................................................................229 12.13.1 SQL-instructie. ........................................................................................229 12.13.2 In Dreamweaver. .....................................................................................230 12.14 Gegevens uit de database verwijderen (DELETE). ...........................................232 12.14.1 SQL-instructie. ........................................................................................232 12.14.2 In Dreamweaver. .....................................................................................232 12.15 Gegevens uit twee tabellen samenvoegen (JOIN). ...........................................233 12.15.1 SQL-instructie. ........................................................................................234 12.15.2 In Dreamweaver. .....................................................................................234 12.15.3 Views in MySQL5....................................................................................235 12.15.4 In Dreamweaver. .....................................................................................237 12.16 Besluit. ...............................................................................................................239 12.17 Bronnen. ............................................................................................................239
13 Webapplicatie: boekengids............................................................................241 13.1 De database vernieuwen. ....................................................................................241 13.2 De templates........................................................................................................243 13.3 Live Data view......................................................................................................243 13.4 Het publieke gedeelte van de website. ................................................................243 13.4.1 Overzichtspagina boeken (index.php).......................................................244 13.4.2 Detailpagina boeken (detail.php). .............................................................254 13.5 Het administratieve gedeelte van de website. .....................................................260 13.5.1 Overzichtspagina (index.php). ..................................................................261 13.5.2 Een nieuwe auteur toevoegen (auteurs/index.php). .................................261 13.5.3 Een auteur bewerken (auteurs/bewerk.php). ............................................263 13.5.4 Een auteur wissen (auteurs/wis.php). .......................................................264 13.5.5 Een nieuw boek toevoegen (boeken/index.php). ......................................267 8 - Dreamweaver CS3 - PHP5
13.5.6 Een boek bewerken (boeken/bewerk.php)................................................271 13.5.7 Een boek wissen (boeken/wis.php)...........................................................273 13.5.8 De loginpagina (admin/login.php). ............................................................274 13.5.9 Pagina's beveiligen. ..................................................................................275 13.6 Logout (logout.php)..............................................................................................277 13.7 Pop-up kalender voor datumingave.....................................................................278 13.7.1 De kalender configureren..........................................................................278 13.7.2 De kalender integreren..............................................................................279 13.8 Online HTML-editor..............................................................................................281 13.8.1 Een eenvoudige editor (simple mode). .....................................................282 13.8.2 Geavanceerde editor (advanced mode)....................................................284 13.8.3 De editor integreren. .................................................................................286 13.9 Website verder optimaliseren via SSI..................................................................288 13.10 De website overbrengen naar de productieserver. ............................................291 13.11 Extra functionaliteit toevoegen...........................................................................292 13.12 Bronnen. ............................................................................................................293
14 Werken met e-mail. .........................................................................................295 14.1 Virtuele map toevoegen aan de testserver. .........................................................295 14.2 Nieuwe website definiëren in Dreamweaver........................................................295 14.3 SMTP-server........................................................................................................297 14.3.1 Open relay.................................................................................................297 14.3.2 Relay. ........................................................................................................298 14.3.3 Authenticated Relay. .................................................................................298 14.4 PHP configureren. ...............................................................................................298 14.4.1 Php.ini configureren voor Windows...........................................................298 14.4.2 Php.ini en SMPT-server configureren voor OSX.......................................300 14.4.3 Besluit. ......................................................................................................303 14.5 De functie mail()...................................................................................................304 14.5.1 Eenvoudig mailscript. ................................................................................304 14.5.2 Meerdere geadresseerden toevoegen. ....................................................305 14.5.3 Mail headers..............................................................................................305 14.5.4 De afzender wijzigen.................................................................................306 14.5.5 Cc en Bcc..................................................................................................307 14.5.6 Prioriteit toekennen. ..................................................................................307 14.5.7 Opdracht 1. ...............................................................................................308 14.5.8 E-mail met HTML-opmaak. .......................................................................308 14.5.9 Een multipart e-mail. ................................................................................311 14.6 Foutboodschappen verwerken. ...........................................................................313 14.7 E-mail snippets. ...................................................................................................313 14.8 Scriptbeveiliging...................................................................................................314 14.8.1 Form spoofing. ..........................................................................................314 14.8.2 E-mail header injectie................................................................................315 14.8.3 Server-side form validatie. ........................................................................318 14.8.4 Opdracht 2. ...............................................................................................318 14.9 Form processor....................................................................................................320 14.10 Bronnen. ............................................................................................................322
Inhoud - 9
15 Webapplicatie: mailinglijst. ............................................................................323 15.1 De database importeren. .....................................................................................324 15.2 Over de database. ...............................................................................................325 15.3 De templates........................................................................................................326 15.4 Het publieke gedeelte van de site........................................................................327 15.4.1 Registratie nieuwe gebruiker (subscribe.php)...........................................327 15.4.2 Verzend registratie (subscribeZend.php). .................................................329 15.4.3 Bevestiging nieuwe gebruiker (subscribeBevestig.php)............................332 15.4.4 Bevestiging nieuwe gebruiker (subscribeBevestigOk.php). ......................334 15.4.5 Gebruiker uitschrijven (unsubscribe.php)..................................................334 15.4.6 Gebruiker wissen uit de database (unsubscribeWis.php). ........................335 15.5 Het administratieve gedeelte van de site.............................................................336 15.5.1 Overzichtspagina (admin/index.php).........................................................336 15.5.2 Overzicht actieve gebruikers (admin/actief.php). ......................................337 15.5.3 Gebruikers wissen (admin/wis.php). .........................................................339 15.5.4 Overzicht niet-actieve gebruikers (admin/nietActief.php)..........................341 15.5.5 Mailing aanmaken (admin/mailing.php). ...................................................342 15.5.6 Mailing verzenden (admin/zenden.php). ...................................................342 15.5.7 Loginpagina (admin/login.php)..................................................................344 15.5.8 Pagina's beveiligen. ..................................................................................345 15.5.9 Logoutpagina (admin/logout.php). ............................................................346 15.6 Formulieren en mailscripts beveiligen. ................................................................346 15.7 Mogelijke uitbreidingen. .......................................................................................349 15.8 De website overbrengen naar de productieserver. ..............................................350 15.9 Bronnen. ..............................................................................................................351
16 XML en Server-Side XSLT...............................................................................353 16.1 Virtuele map toevoegen aan de testserver. .........................................................353 16.2 Nieuwe website definiëren in Dreamweaver........................................................353 16.3 De templates en include bestanden. ...................................................................355 16.4 Inleiding XML. ......................................................................................................355 16.4.1 Wat betekent XML?...................................................................................356 16.4.2 Structuur van een XML-document. ...........................................................357 16.4.3 Well-formed en Valid XML.........................................................................360 16.5 Inleiding XSL........................................................................................................360 16.6 Client-Side XSLT vs. Server-Side XSLT...............................................................361 16.7 Een eenvoudige XSL Transformatie. ...................................................................363 16.7.1 XSLT proloog. ...........................................................................................364 16.7.2 xsl:template en xsl:value-of.......................................................................364 16.7.3 XPath expressies. .....................................................................................364 16.7.4 xsl:for-each................................................................................................370 16.7.5 Sorteren (xsl:sort)......................................................................................372 16.7.6 XPath operatoren. .....................................................................................372 16.7.7 XPath functies. ..........................................................................................373 16.7.8 Dynamische HTML-attributen. ..................................................................374 16.7.9 index.php en pers_tabel.xsl koppelen.......................................................375 16.8 Inleiding RSS Feeds. ...........................................................................................376 16.8.1 RSS versies. .............................................................................................377 16.8.2 RSS varianten. ..........................................................................................377 16.8.3 Soorten nieuwslezers................................................................................378 10 - Dreamweaver CS3 - PHP5
16.9 RSS verwerken in een webpagina.......................................................................380 16.10 Opdrachten XSL. ...............................................................................................383 16.10.1 Fireworks TechNotes ..............................................................................383 16.10.2 iTunes Feed generator. ...........................................................................384 16.11 Bronnen. ............................................................................................................384
17 Spry datasets. .................................................................................................387 17.1 Inleiding AJAX......................................................................................................387 17.2 Adobe Spry Framework for AJAX. .......................................................................388 17.3 Nadelen van AJAX...............................................................................................388 17.4 Spry versies. ........................................................................................................389 17.5 Virtuele map toevoegen aan de testserver. .........................................................389 17.6 Nieuwe website definiëren in Dreamweaver........................................................389 17.7 De templates en include bestanden. ...................................................................391 17.8 Spry datasets.......................................................................................................391 17.8.1 Een dataset aanmaken. ............................................................................391 17.8.2 Hoofd- en detailgebieden (spry:region en spry:detailregion). ...................394 17.8.3 Datalus (spry:repeat en spry:repeatchildren). ...........................................395 17.8.4 Gegevens sorteren (Spry:sort)..................................................................397 17.8.5 Datareferenties..........................................................................................399 17.8.6 Gegevens filteren. .....................................................................................400 17.8.7 Voorwaardelijke instructies (spry:if en spry:choose). ................................402 17.8.8 Controletoestanden (spry:state)................................................................405 17.8.9 Debugmode...............................................................................................406 17.9 Master/detail relatie met één dataset...................................................................407 17.10 Master/detail relatie met twee datasets. ............................................................411 17.11 Master/detail relatie met tabbed panels. ............................................................417 17.12 Databasegegevens converteren naar XML. ......................................................421 17.13 Extern XML-bestand integreren.........................................................................426 17.14 Bronnen. ............................................................................................................429
18 Webapplicatie: opleidingscentrum................................................................431 18.1 Virtuele map toevoegen aan de testserver. .........................................................431 18.2 Nieuwe website definiëren in Dreamweaver........................................................431 18.3 De database importeren. .....................................................................................433 18.4 Over de database. ...............................................................................................434 18.5 De templates........................................................................................................435 18.6 Opleidingen..........................................................................................................435 18.6.1 Overzichtspagina opleidingen (opleiding/index.php).................................436 18.6.2 Detailpagina opleidingen (opleiding/detail.php). .......................................445 18.6.3 Inschrijvingsformulier (opleiding/inschrijven.php)......................................448 18.6.4 Formulier verzenden (opleiding/zendEmail.php).......................................450 18.7 Logout..................................................................................................................452 18.8 Docenten. ............................................................................................................452 18.8.1 Loginpagina voor docenten (docent/login.php). ........................................453 18.8.2 Cookie bewaren (docent/setCookie.php). .................................................456 18.8.3 Persoonlijke gegevens van een docent (docent/index.php). ....................457 18.8.4 Paswoord resetten (docent/resetPaswoord.php). .....................................461 18.8.5 Nieuw paswoord verzenden via e-mail (docent/zendPaswoord.php). ......464 18.8.6 Paswoord wijzigen (docent/wijzigPaswoord.php). ....................................466 Inhoud - 11
18.8.7 Pagina's beveiligen. ..................................................................................467 18.9 Personeel.............................................................................................................467 18.9.1 Loginpagina voor personeelsleden (personeel/login.php). .......................467 18.9.2 Overzichtpagina voor personeelsleden (personeel/index.php). ................469 18.9.3 Overzichtpagina opleidingen (personeel/opleidingen/index.php)..............472 18.9.4 Een opleiding bewerken of wissen (personeel/opleidingen/bewerk.php)..473 18.9.5 Een nieuwe opleiding toevoegen (personeel/opleidingen/nieuw.php). .....478 18.9.6 Een docent bewerken of wissen (personeel/docent/bewerk.php).............480 18.9.7 Een nieuwe docent toevoegen (personeel/docent/nieuw.php). ................483 18.10 Opdracht. ...........................................................................................................484
Index......................................................................................................................487
12 - Dreamweaver CS3 - PHP5