Tietokoneiden näyttöjä, joissa näkyy kuvaa automaatiolaboratorion laitteistosta. Monitoreiden takana näkyy sama laitteisto kuin kuvissa.

timohei.net / Opintojaksot / Aiemmin pitämäni opintojaksot / Internet-sovelluskehitys / e-kirjojen sisällysluettelot /
PHP Trainer Kit
Mikä PHP on?.............................................................20
Kuinka PHP laajeni? .....................................................20
Mitä uutta PHP4:ssä on...................................................21
Zend-moottori ...........................................................21
Miksi valita PHP?........................................................21
Kehittämisen nopeus .....................................................22
PHP on Open Source -tuote................................................22
Suorituskyky ............................................................22
Siirrettävyys ...........................................................22
Yhteenveto ..............................................................22
K&V .....................................................................23
Työpaja .................................................................23
Kysymyksiä...............................................................23
Toiminta ................................................................23
Alustat, palvelimet, tietokannat ja PHP..................................26
Mistä löydät PHP4:n ja lisätietoa .......................................26
PHP4:n asentaminen Linuxille ja Apachelle................................26
Joitakin configure-asetuksia ............................................27
--enable-track-vars .....................................................28
--with-gd................................................................28
--with-mysql ............................................................28
Apachen kokoonpano ......................................................29
php.ini .................................................................29
short_open_tag ..........................................................30
Virheilmoitussäännöt ....................................................30
Muuttujakohtaiset asetukset .............................................31
Help! ...................................................................31
Yhteenveto ..............................................................32
K&V .....................................................................32
Työpaja .................................................................32
Kysymyksiä...............................................................33
Toiminta ................................................................33
Ensimmäinen skriptimme ..................................................36
PHP-ohjelmalohkojen alku ja loppu........................................37
print()-funktio..........................................................38
HTML:n ja PHP:n yhdistäminen ............................................39
Kommenttien lisääminen PHP-koodiin.......................................40
Yhteenveto ..............................................................41
K&V .....................................................................41
Työpaja .................................................................42
Kysymyksiä...............................................................42
Toiminta ................................................................42
Muuttujat................................................................46
Dynaamiset muuttujat ....................................................47
Viittaukset muuttujiin...................................................49
Tietotyypit .............................................................50
Tyypin muuttaminen funktiolla settype()..................................52
Tyypin muuntaminen pakkomuuntamalla .....................................53
Operaattorit ja lausekkeet...............................................55
Sijoitusoperaattori .....................................................55
Aritmeettiset operaattorit...............................................56
Liittämisoperaattori ....................................................56
Lisää sijoitusoperaattoreita.............................................56
Vertailuoperaattorit ....................................................57
Monimutkaisempien testien luominen loogisten operaattoreiden avulla......58
Inkrementointi ja dekrementointi ........................................59
Operaattoreiden prioriteetit ............................................60
Vakiot ..................................................................61
Esimääritetyt vakiot.....................................................62
Yhteenveto ..............................................................62
K&V .....................................................................63
Työpaja .................................................................63
Kysymyksiä...............................................................63
Toiminta ................................................................65
If-lause.................................................................68
Else-osan käyttö if-lauseessa............................................69
Elseif-osan käyttäminen if-lauseessa.....................................70
Switch-rakenne...........................................................72
Ehto-operaattorin käyttö.................................................73
Silmukat.................................................................74
While-lause .............................................................74
Do-while-lause ..........................................................75
For-lause................................................................76
Silmukoista poistuminen break-lauseella .................................78
Koodin ohittaminen continue-lauseella ...................................80
Sisäkkäiset silmukat ....................................................81
Yhteenveto ..............................................................82
K&V .....................................................................82
Työpaja .................................................................82
Kysymyksiä...............................................................82
Toiminta ................................................................83
Mikä funktio on? ........................................................86
Funktion kutsuminen......................................................86
Funktion määrittely......................................................88
Dynaamiset funktiokutsut.................................................91
Muuttujien näkyvyysalue..................................................92
Muuttujien määrittely global-määreellä ..................................93
Tilan tallentaminen funktiokutsujen välillä static-määreen avulla .......95
Lisää argumenteista......................................................97
Argumenttien oletusarvot ................................................98
Muuttujaviittausten vienti funktioille .................................100
Yhteenveto .............................................................102
K&V ....................................................................102
Työpaja ................................................................103
Kysymyksiä..............................................................103
Toiminta ...............................................................104
Mikä on taulukko?.......................................................106
Taulukoiden luonti .....................................................106
Taulukoiden määrittely array()-funktiolla ..............................106
Assosiatiiviset taulukot................................................108
Assosiatiivisen taulukon määrittely array()-funktiolla .................108
Assosiatiivisen taulukon suora määrittely tai kasvattaminen ............109
Moniulotteiset taulukot ................................................109
Taulukoiden käsittely ..................................................110
Taulukon koon selvittäminen ............................................110
Taulukon läpikäynti silmukalla .........................................111
Assosiatiivisen taulukon läpikäynti.....................................112
Moniulotteisen taulukon tulostaminen ...................................113
Taulukoiden manipulointi ...............................................115
Kahden taulukon liittäminen array_merge()-funktiolla....................115
Useiden arvojen sijoittaminen taulukkoon array_push()-funktiola ........116
Taulukon ensimmäisen alkion poistaminen array_shift()-funktiola.........117
Taulukoiden pilkkominen array_slice()-funktiolla........................117
Taulukoiden lajittelu ..................................................118
Numeerisesti indeksoitujen taulukoiden lajittelu sort()-funktolla ......118
Assosiatiivisen taulukon lajittelu asort()-funktiolla ..................119
Assosiatiivisen taulukon lajittelu avaimen mukaan ksort()-funtiolla ....120
Yhteenveto .............................................................120
K&V ....................................................................121
Työpaja ................................................................121
Kysymyksiä..............................................................121
Toiminta ...............................................................122
Mikä olio on? ..........................................................124
Olion luominen..........................................................124
Olioiden ominaisuudet ..................................................125
Olioiden metodit........................................................126
Esimerkki...............................................................130
Luokan ominaisuuksien määrittely........................................130
Muodostimen luominen....................................................130
Metodi addRow() ........................................................130
Metodi addRowAssocArray() ..............................................131
Metodi output() ........................................................132
Kaikki yhdessä .........................................................132
Mitä puuttuu? ..........................................................135
Miksi luokka?...........................................................135
Periyttäminen...........................................................135
Kantaluokan metodin korvaaminen.........................................137
Korvatun metodin kutsuminen ............................................138
Periyttäminen: Esimerkki................................................140
HTMLTable-luokan ominaisuudet...........................................140
Muodostimen luominen....................................................140
Metodi setCellpadding() ................................................141
Output()-metodi.........................................................141
Table- ja HTMLTable-luokat kokonaan ....................................142
Miksi käyttää periyttämistä? ...........................................145
Yhteenveto .............................................................146
K&V ....................................................................146
Työpaja ................................................................146
Kysymyksiä..............................................................147
Toiminta ...............................................................147
Globaalit muuttujat ja ympäristömuuttujat ..............................152
Skripti, joka sieppaa käyttäjän syöttötiedon ...........................153
Monivalintaelementtien käsittely .......................................154
Kaikkien lomakekenttien käsittely assosiatiivisen taulukon katta .......157
GET- ja POST-lähetysten erotteleminen ..................................159
HTML- ja PHP-koodin yhdistäminen yksittäisellä sivulla .................160
Piilokenttien käyttö tilan tallentamiseen...............................162
Käyttäjän uudelleen ohjaaminen .........................................164
Tiedoston lataamiseen tarvittava lomake ja skripti .....................167
Yhteenveto .............................................................170
K&V ....................................................................170
Työpaja ................................................................171
Kysymyksiä..............................................................171
Toiminta ...............................................................171
Tiedoston sisällyttäminen include()-funktiolla .........................174
Tiedostojen testaaminen.................................................177
Tiedoston olemassaolon testaaminen file_exists()-funktiolla.............177
Tiedosto vai hakemisto?.................................................178
Tiedoston tilan tarkistaminen ..........................................178
Tiedoston koon määrittäminen filesize()-funktiolla .....................179
Tiedostoa koskevan päivämäärätiedon selvittäminen ......................179
Funktio, joka suorittaa useita tiedostotestejä..........................180
Tiedostojen luominen ja tuhoaminen .....................................181
Tiedoston avaaminen kirjoittamista, lukemista tai lisäämistä arten .....182
Tiedostojen lukeminen ..................................................183
Rivien lukeminen fgets()- ja feof()-funktioilla ........................183
Vaihtelevan tietomäärän lukeminen tiedostosta fread()-funktiola ........184
Merkkien lukeminen tiedostosta fgetc()-funktiolla ......................186
Tiedostoon kirjoittaminen ja lisääminen ................................187
Tiedostoon kirjoittaminen fwrite()- tai fputs()-funktiolla..............187
Tiedostojen lukitseminen flock()-funktiolla ............................188
Hakemistojen käsittely .................................................189
Hakemistojen luominen mkdir()-funktiolla................................189
Hakemiston poistaminen rmdir()-funktiolla ..............................189
Hakemiston avaaminen lukemista varten opendir()-funktiolla .............189
Hakemiston sisällön lukeminen readdir()-funktiolla .....................190
Yhteenveto .............................................................191
K&V ....................................................................191
Työpaja ................................................................192
Kysymyksiä..............................................................192
Toiminta ...............................................................192
DBM-tietokannan avaaminen ..............................................194
Tiedon lisääminen tietokantaan..........................................194
Elementtien muuttaminen.................................................195
Tiedon lukeminen DBM-tietokannasta .....................................196
Kohteen olemassaolo tietokannassa ......................................198
Kohteen tuhoaminen tietokannasta........................................198
Monimutkaisten tietorakenteiden lisääminen DBM-tietokantaan ............199
Esimerkki...............................................................202
Yhteenveto .............................................................208
K&V ....................................................................208
Työpaja ................................................................208
Kysymyksiä..............................................................209
Toiminta ...............................................................209
Lyhyt SQL-johdanto .....................................................212
Tietokantapalvelimeen kytkeytyminen ....................................213
Tietokannan valitseminen ...............................................214
Virheistä selviytyminen ................................................214
Tiedon lisääminen taulukkoon ...........................................215
Automaattisesti inkrementoidun kentän arvon saaminen ...................219
Tiedon ottaminen esille ................................................219
Kyselyn antaman rivimäärän selvittäminen ...............................219
Tulosjoukon käsittely ..................................................220
Tiedon muuttaminen......................................................223
Tietokantaa koskevan tiedon selvittäminen ..............................224
Tietokantojen luetteleminen ............................................225
Tietokannan taulukoiden luetteleminen ..................................226
Kenttien listaaminen ja tutkiminen......................................226
Tietokannan rakenne: kaikki yhdessä ....................................227
Yhteenveto .............................................................230
K&V ....................................................................230
Työpaja ................................................................231
Kysymyksiä..............................................................231
Toiminta ...............................................................231
Ympäristömuuttujat......................................................234
Lyhyt yhteenveto asiakas/palvelin-keskustelusta ........................236
Pyyntö .................................................................236
Vastaus ................................................................237
Asiakirjan saaminen etäosoitteesta......................................239
IP-osoitteiden ja isäntänimien muuntaminen .............................240
Verkkoyhteyden toteuttaminen ...........................................241
NNTP-yhteyden luominen fsockopen()-funktiolla...........................244
Sähköpostin lähettäminen mail()-funktiolla..............................246
Yhteenveto .............................................................247
K&V ....................................................................247
Työpaja ................................................................248
Kysymyksiä..............................................................248
Toiminta ...............................................................248
Kuvien luominen ja tulostaminen.........................................250
Värin toteuttaminen ....................................................251
Viivojen piirtäminen....................................................251
Värillä täyttäminen ....................................................252
Kaaren piirtäminen......................................................253
Suorakaiteen piirtäminen................................................254
Monikulmion piirtäminen.................................................255
Värin tekeminen läpinäkyväksi ..........................................256
Tekstin käsittely.......................................................257
Merkkijonon kirjoittaminen imageTTFtext()-funktiolla ...................257
Tekstikoon testaaminen imageTTFbox()-funktiolla.........................258
Kaikki yhdessä .........................................................261
Yhteenveto .............................................................266
K&V ....................................................................266
Työpaja ................................................................267
Kysymyksiä..............................................................267
Toiminta ...............................................................267
Päivämäärän sieppaaminen time()-funktiolla .............................270
Aikaleiman muuntaminen getdate()-funktiolla ............................270
Aikaleiman muuntaminen date()-funktiolla ...............................271
Aikaleiman luominen mktime()-funktiolla.................................273
Päivämäärän testaaminen checkdate()-funktiolla .........................274
Esimerkki...............................................................274
Käyttäjän syöttämän tiedon tarkistaminen ...............................274
HTML-lomakkeen luominen.................................................275
Kalenteritaulukon luominen .............................................277
Yhteenveto .............................................................281
K&V ....................................................................281
Työpaja ................................................................281
Kysymyksiä..............................................................281
Toiminta ...............................................................281
Tietotyyppien kertaaminen...............................................284
Palautamme mieliin tietotyypit .........................................284
Monimutkaisten tyyppien muuntaminen.....................................285
Tietotyyppien automaattinen muuntaminen ................................286
Tietotyyppien testaaminen ..............................................288
Muita keinoja tyypin muuttamiseen ......................................288
Miksi tietotyypit ovat tärkeitä?........................................289
Läsnäolon tai tyhjyyden testaaminen.....................................291
Lisää taulukoista.......................................................292
Vaihtoehtoinen tapa taulukon läpikäynnissä .............................292
Arvon olemassaolon tarkistaminen .......................................293
Alkion poistaminen taulukosta ..........................................294
Funktion käyttäminen taulukon jokaisen alkio kohdalla ..................294
Mukautettu taulukoiden lajittelu .......................................295
Yhteenveto .............................................................298
K&V ....................................................................299
Työpaja ................................................................299
Kysymyksiä..............................................................299
Toiminta ...............................................................299
Merkkijonojen muotoilu .................................................302
Muotoileva tulostus printf()-funktiolla.................................302
Tyypin määrittäjä printf()-funktiossa ..................................302
Tulostustilan määrittäminen tilan määrittäjällä ........................304
Kentän leveyden määrittäminen...........................................306
Tarkkuuden määrittely ..................................................307
Muunnosmäärittäjät: yhteenveto .........................................307
Muotoillun merkkijonon tallentaminen....................................309
Merkkijonojen tutkiminen ...............................................309
Huomautus merkkijonojen indeksoinnista .................................309
Merkkijonon pituuden selvittäminen strlen()-funktiolla .................310
Osamerkkijonon etsiminen strstr()-funktiolla ...........................310
Osamerkkijonon paikan löytäminen strpos()-funktiolla ...................311
Merkkijonon osan sieppaaminen substr()-funktiolla ......................311
Merkkijonon jäsentely strtok()-funktiolla ..............................312
Merkkijonojen muokkaaminen .............................................313
Merkkijonon puhdistaminen trim()- ja ltrim()-funktioilla ...............313
Merkkijonon osan muuttaminen substr_replace()-funktiolla ...............314
Osamerkkijonon korvaaminen str_replace()-funktiolla.....................314
Isot ja pienet kirjaimet................................................315
Merkkijonon pilkkominen taulukoiksi explode()-funktiolla ...............316
Yhteenveto .............................................................316
K&V ....................................................................316
Työpaja ................................................................317
Kysymyksiä..............................................................317
Toiminta ...............................................................317
POSIXin mukaiset säännölliset lausekkeet ...............................320
Kuvioiden vastineiden hakeminen ereg()-funktiolla ......................320
Merkkijonojen korvaaminen egrep_replace()-funktiolla....................325
Merkkijonojen pilkkominen split()-funktiolla............................326
Perl-yhteensopivat säännölliset lausekkeet .............................327
Kuvioiden hakeminen preg_match()-funktiolla ............................327
Vasteiden etsiminen globaalisti preg_match_all()-funktiolla.............329
Kuvioiden korvaaminen preg_replace()-funktiolla ........................332
Yhteenveto .............................................................335
K&V ....................................................................335
Työpaja ................................................................335
Kysymyksiä..............................................................335
Toiminta ...............................................................336
Evästeet ...............................................................338
Evästeen anatomia.......................................................338
Evästeen asettaminen PHP:llä ...........................................339
Evästeen tuhoaminen.....................................................341
Istuntoevästeiden luominen..............................................341
Esimerkki–sivuston käytön seuranta ......................................341
Kyselymerkkijonojen käyttö .............................................348
Kyselymerkkijonon luominen .............................................348
Yhteenveto .............................................................351
K&V ....................................................................351
Työpaja ................................................................351
Kysymyksiä..............................................................351
Toiminta ...............................................................352
Mitä istuntofunktiot ovat?..............................................354
Istunnon aloittaminen session_start()-funktiolla .......................354
Istuntomuuttujien käyttö................................................355
Istunnon ID:n siirtäminen kyselymerkkijonossa...........................361
Istuntomuuttujien koodaaminen...........................................362
Istuntomuuttujan rekisteröinnin tarkistaminen...........................363
Yhteenveto .............................................................363
K&V ....................................................................363
Työpaja ................................................................364
Kysymyksiä..............................................................364
Toiminta ...............................................................364
Putkien avaaminen prosesseihin popen()-funktiolla.......................366
Komentojen ajaminen exec()-funktiolla ..................................369
Ulkoisten komentojen ajaminen system()-funktiolla tai
  heittomrkkioperaattorilla.............................................370
Turvallisuusaukkojen tukkiminen escapeshellcmd()-funktiolla ............371
Ulkoisten sovellusten ajaminen passthru()-funktiolla ...................373
Ulkoisen CGI-skriptin kutsuminen virtual()-funktion kautta .............374
Yhteenveto .............................................................375
K&V ....................................................................375
Työpaja ................................................................376
Kysymyksiä..............................................................376
Toiminta ...............................................................376
Tiedon saaminen PHP:stä ja skripteistäsi................................378
phpinfo()...............................................................378
PHP:n virheilmoitukset..................................................382
Virheilmoitusten kirjoittaminen lokitiedostoon..........................385
Virheilmoituksen sieppaaminen ..........................................386
Manuaalinen vianhaku....................................................387
Yleiset virheet.........................................................389
Yhteenveto .............................................................391
K&V ....................................................................391
Työpaja ................................................................391
Kysymyksiä..............................................................391
Toiminta ...............................................................391
Lyhyesti ...............................................................396
Rakenne.................................................................396
Tietokannan suunnittelu.................................................397
Suunnitteluvaihtoehdot .................................................399
Jäsenten ympäristö .....................................................399
join.php ja dblib.inc...................................................399
membersmenu.php ........................................................412
login.php...............................................................413
updateevent.php.........................................................415
reviewevents.php........................................................423
Yhteenveto .............................................................427
K&V ....................................................................427
Työpaja ................................................................427
Kysymyksiä..............................................................427
Toiminta ...............................................................428
Tapahtumapäiväkirjan julkiset näkymät...................................430
viewevents.php..........................................................430
viewclubs.php...........................................................437
viewclub.php ...........................................................440
viewevent.php ..........................................................443
Tulevaisuus ............................................................446
Yhteenveto .............................................................446
K&V ....................................................................446
Työpaja ................................................................447
Kysymyksiä..............................................................447
Toiminta ...............................................................447
TUNTI 1 ................................................................450
Kysymyksiä..............................................................450
TUNTI 2 ................................................................451
Kysymyksiä..............................................................451
TUNTI 3 ................................................................452
Kysymyksiä..............................................................452
TUNTI 4 ................................................................453
Kysymyksiä..............................................................453
TUNTI 5 ................................................................455
Kysymyksiä..............................................................455
TUNTI 6 ................................................................457
Kysymyksiä..............................................................457
TUNTI 7 ................................................................459
Kysymyksiä..............................................................459
TUNTI 8 ................................................................461
Kysymyksiä..............................................................461
TUNTI 9 ................................................................465
Kysymyksiä..............................................................465
TUNTI 10 ...............................................................467
Kysymyksiä..............................................................467
TUNTI 11 ...............................................................469
Kysymyksiä..............................................................469
TUNTI 12 ...............................................................470
Kysymyksiä..............................................................470
TUNTI 13 ...............................................................472
Kysymyksiä..............................................................472
TUNTI 14 ...............................................................474
Kysymyksiä..............................................................474
TUNTI 15 ...............................................................476
Kysymyksiä..............................................................476
TUNTI 16 ...............................................................477
Kysymyksiä..............................................................477
TUNTI 17 ...............................................................479
Kysymyksiä..............................................................479
TUNTI 18 ...............................................................481
Kysymyksiä..............................................................481
TUNTI 19 ...............................................................483
Kysymyksiä..............................................................483
TUNTI 20 ...............................................................484
Kysymyksiä..............................................................484
TUNTI 21 ...............................................................485
Kysymyksiä..............................................................485
TUNTI 22 ...............................................................487
Kysymyksiä..............................................................487
TUNTI 23 ...............................................................488
Kysymyksiä..............................................................488
TUNTI 24 ...............................................................489
Kysymyksiä..............................................................489
Päivitetty 31.8.2015

<<  Edellinen
(2) WWW-ohjelmointi Trainer Kit
Sivu 3/3Takaisin ensimmäiseen >>
(1) e-kirjojen sisällysluettelot
© Timo Heikkinen | timo piste heikkinen at oamk piste fi