OSA III PHP:n käyttö. Oppitunti
|
|
- Topi Salminen
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 OSA III PHP:n käyttö Oppitunti 9. Lomakkeiden käsittely 10. Tiedostojen käsittely 11. DBM-funktioiden käyttö 12. MySQL-tietokantojen integrointi 13. Pintaa syvemmältä 14. Dynaamisten kuvien käsittely 15. Päivämäärien käyttö 16. Tiedon käsittely 17. Merkkijonojen käsittely 18. Säännöllisten ilmausten käyttö 19. Tilan tallentaminen evästeille ja kyselymerkkijonoilla 20. Tilan tallentaminen istuntofunktioilla 21. Palvelimen ympäristön käsittely 22. Vianhaku
2
3 9. Lomakkeiden käsittely 151 OPPITUNTI 9 Lomakkeiden käsittely Toistaiseksi kaikista kirjan esimerkeistä on puuttunut eräs tärkeä ulottuvuus. Voimme nyt määritellä muuttujia ja taulukoita, luoda ja kutsua funktioita ja työskennellä olioilla. Kaikki tuo on merkityksetöntä, jos käyttäjät eivät pääse tarjoamaan tietoa kielen ympäristön käyttöön. Tällä tunnilla tutkimme menettelytapoja, joilla siepataan tietoa käyttäjältä ja työskennellään tuolla tiedolla. World Wide Web -maailmassa HTML-lomakkeet ovat peruskeino kerätä tietoa käyttäjältä ja viedä tuo tieto palvelimelle. PHP on kehitetty nimenomaan lomaketiedon käsittelyyn. Tämän tunnin aiheita ovat seuraavat: Kuinka ympäristömuuttujia käytetään Kuinka saadaan tieto lomakekentistä Kuinka työskennellään asiakirjoilla, jotka sisältävät sekä HTML-lomakkeen että PHPkoodin, joka käsittelee sen lähettämisen Kuinka käsitellään monivalintakomponentteja Kuinka tilatietoa tallennetaan piilokenttiin Kuinka käyttäjä ohjataan uudelle sivulle Kuinka rakennetaan HTML-lomakkeita, jotka lataavat tiedostoja palvelimelle ja kuinka kirjoitetaan PHP-koodi, joka käsittelee niitä
4 Lomakkeiden käsittely Globaalit muuttujat ja ympäristömuuttujat Ennenkuin todella rakennat lomakkeen ja käytät sitä tiedon sieppaamiseen, sinun on tehtävä pieni kertaus ja palautettava mieleen, mitä globaali muuttuja pitää sisällään. Globaaleista muuttujista puhuttiin ensin luvussa 6, Funktiot. Globaali muuttuja on muuttuja, joka esitellään skriptin ylätasolla eli funktioiden ulkopuolella. Kaikki funktiot pääsevät käsiksi sisäiseen assosiatiiviseen taulukkoon nimeltä $GLOBALS. Se on hyödyllistä listauksessa 9.1, koska voimme päästä käsiksi jokaiseen globaaliin muuttujaan yhden silmukan avulla. Listaus 9.1 $GLOBALS-taulukon tutkiminen 1: <html> 2: <head> 3: <title>listing 9.1 Looping through the $GLOBALS array</title> 4: </head> 5: <body> 6: <?php 7: $user1 = "Bob"; 8: $user2 = "Harry"; 9: $user3 = "Mary"; 10: foreach ( $GLOBALS as $key=>$value ) 11: { 12: print "\$GLOBALS[\"$key\"] == $value<br>"; 13: } 14:?> 15: </body> 16: </html> Esittelemme kolme muuttujaa ja sitten käymme silmukassa läpi sisäisen $GLOBALS-taulukon tulostaen sekä taulukon avaimet että arvot selaimelle. Tulostuksessa voimme paikantaa määrittelemämme muuttujat, mutta saimme esille kauhean paljon muutakin niiden lisäksi. PHP määrittelee automaattisesti paikalliset muuttujat, jotka kuvaavat palvelimen ja asiakkaan ympäristöjä. Riippuen järjestelmästäsi, palvelimestasi ja kokoonpanostasi noiden muuttujien saatavuus voi vaihdella, mutta ne voivat olla todella hyödyllisiä. Taulukko 9.1 esittelee joitakin yleisiä ympäristömuuttujia. Niihin päästään käsiksi $GLOBALS-taulukon kautta tai sitten suoraan nimen perusteella.
5 9. Lomakkeiden käsittely 153 Taulukko 9.1 Ympäristömuuttujat Muuttuja Sisältää Esimerkki $HTTP_USER_AGENT Asiakkaan nimi ja versio Mozilla/4.6 (X11;I;Linux apmac ppc) $REMOTE_ADDR Asiakkaan IP-osoite $REQUEST_METHOD Onko kyseessä GET- vai POST POST-pyyntö $QUERY_STRING GET-pyyntöjen kohdalla lomakkeen koodattu tieto $REQUEST_URI $HTTP_REFERER Pyynnön koko osoite mukaan lukien kyselymerkkijono Sen sivun osoite, josta pyyntö tehtiin name=matt&address=un known /matt/phpbook/forms/eg9.14.html?n ame=matt com/a_page.html Ympäristömuuttujien lisäksi PHP laittaa muutamia muitakin globaaleja muuttujia ohjelmoijan saataville. Esimerkiksi muuttuja $GLOBALS[ PHP_SELF ] sisältää nykyisen skriptin polun. Omassa ympäristössäni muuttujassa oli arvo /matt/php-book/forms/eg9.1.php. Tuohon muuttujaan voidaan viitata suoraan nimellä $PHP_SELF. Se voi olla hyödyllistä joissakin tämän kirjan esimerkeissä. Laitamme HTML-lomakkeen usein samalle sivulle kuin PHP-koodin, joka analysoi lomakkeen sisällön. Voimme käyttää $PHP_SELF-muuttujassa olevaa merkkijonoa lomakkeen ACTION-argumentin arvona, jolloin meidän ei tarvitse kirjoittaa itse sivun nimeä ja polkua. PHP:n $GLOBALS-taulukko on myös muilla tavoin hyödyllinen. Skripti, joka sieppaa käyttäjän syöttötiedon Toistaiseksi olemme erottaneet HTML:n PHP-koodistamme. Listauksessa 9.2 muodostetaan suppea HTMLlomake. Listaus 9.2 Suppea HTML-lomake 1: <html> 2: <head> 3: <title>listing 9.2 A simple HTML form</title> 4: </head> 5: <body> 6: <form action="eg9.3.php" method="get"> 7: <input type="text" name="user"> 8: <br> 9: <textarea name="address" rows="5" cols="40"> 10: </textarea> 11: <br> 12: <input type="submit" value="hit it!"> 13: </form>
6 Lomakkeiden käsittely 14: </body> 15: </html> Määrittelemme lomakkeen, joka sisältää tekstikentän nimeltä user, tekstialueen nimeltä Address sekä lähetyspainikkeen (submit-napin). Tämän kirjan tarkoituksena ei ole käsitellä HTML:ää yksityiskohtaisemmin. Jos kirjan esimerkit tuntuvat vaikeilta, tutki jotain Samsin HTML-kirjaa tai online-opasta. FORM-elementin ACTION-argumentti viittaa tiedostoon eg9.3.php, joka käsittelee lomakkeen tiedot. Koska olemme laittaneet ACTION-argumenttiin pelkästään tiedoston nimen, tiedoston tulee sijaita samassa kansiossa kuin sivu, jossa lomakekoodi on. Listaus 9.3 luo koodin, joka vastaanottaa käyttäjän syöttämät tiedot. Listaus 9.3 Luetaan listauksen 9.2 lomakkeen tiedot 1: <html> 2: <head> 3: <title>listing 9.3 Reading input from the form in Listing 9.2</title> 4: </head> 5: <body> 6: <?php 7: print "Welcome <b>$user</b><p>\n\n"; 8: print "Your address is:<p>\n\n<b>$address</b>"; 9:?> 10: </body> 11: </html> Tämä on kirjan ensimmäinen skripti, jota ei kutsuta valitsemalla linkki tai kirjoittamalla osoite suoraan selaimen osoitekenttään. Nyt listauksen 9.3 koodi sijoitetaan tiedostoon nimeltä eg9.3.php. Tuota tiedostoa kutsutaan, kun käyttäjä lähettää listauksessa 9.2 määritellyn lomakkeen. Koodi sisältää kaksi muuttujaa nimeltä $user ja $address. Ei liene yllätys, että nuo muuttujat sisältävät lomakkeen tekstikentän user ja tekstialueen address sisällöt. Näin helppoa on lomakkeiden käsittely PHP4-kielellä. Kaikki käyttäjän lähettämä tieto on globaaleissa muuttujissa, joilla on samat nimet kuin lomakkeen kentillä. Monivalintaelementtien käsittely Toistaiseksi lomakkeiden elementit ovat sisältäneet vain yhden yksittäisen arvon. Kuinka sitten teemme, kun yhteen komponenttiin liittyy useampi valittu vaihtoehto? Tällaisia komponentteja ovat SELECT-elementit: käyttäjä voi valita niistä useammankin vaihtoehdon. Jos nimeämme SELECT-elementin paljaalla nimellä, esimerkiksi seuraavasti
7 9. Lomakkeiden käsittely 155 <select name="products" multiple> vastaanottava skripti pääsee käsiksi vain yhteen arvoon, joka vastaa kyseistä nimeä. Voimme muuttaa käyttäytymistä nimeämällä jokaisen elementin nimellä, jonka loppuun laitetaan hakasulkupari. Listaus 9.4 käyttää tuota menettelyä. Listaus 9.4 HTML-lomake, jossa on SELECT-elementti 1: <html> 2: <head> 3: <title>listing 9.4 An HTML form including a SELECT element</title> 4: </head> 5: <body> 6: <form action="eg9.5.php" method="post"> 7: <input type="text" name="user"> 8: <br> 9: <textarea name="address" rows="5" cols="40"> 10: </textarea> 11: <br> 12: <select name="products[]" multiple> 13: <option>sonic Screwdriver 14: <option>tricorder 15: <option>orac AI 16: <option>hal : </select> 18: <br> 19: <input type="submit" value="hit it!"> 20: </form> 21: </body> 22: </html> Skripti, joka käsittelee lomaketietoa, pääsee käsiksi valittuihin vaihtoehtoihin $products-taulukon avulla. Listaus 9.5 esittelee tuota menettelyä.
8 Lomakkeiden käsittely Listaus 9.5 Syötetyn tiedon lukeminen listauksen 9.4 lomakkeelta 1: <html> 2: <head> 3: <title>listing 9.5 Reading input from the form in Listing 9.4</title> 4: </head> 5: <body> 6: <?php 7: print "Welcome <b>$user</b><p>\n\n"; 8: print "Your address is:<p>\n\n<b>$address</b><p>\n\n"; 9: print "Your product choices are:<p>\n\n"; 10: print "<ul>\n\n"; 11: foreach ( $products as $value ) 12: { 13: print "<li>$value<br>\n"; 14: } 15: print "</ul>"; 16:?> 17: </body> 18: </html> SELECT-elementti ei ole ainoa, joka sisältää useampia arvoja. Kun valintaruuduille annetaan sama nimi, käyttäjä voi valita useita vaihtoehtoja yksittäisen kentän avulla. Jos kentän nimessä on hakasulkupari, PHP kääntää käyttäjän antamat tiedot taulukkoon. Voimme korvata listauksen 9.4 SELECT-elementin valintaruuduilla saadaksemme aikaa täsmälleen saman toiminnon: <input type="checkbox" name="products[]" value="sonic Screwdriver"> A Sonic Screwdriver<br> <input type="checkbox" name="products[]" value="tricorder">tricorder<br> <input type="checkbox" name="products[]" value="orac AI">ORAC AI<br> <input type="checkbox" name="products[]" value="hal 2000">HAL 2000<br>
9 9. Lomakkeiden käsittely 157 Kaikkien lomakekenttien käsittely assosiatiivisen taulukon kautta Toistaiseksi käyttämämme tekniikat ovat toimineet aivan hyvin. Ne toimivatkin hyvin niin kauan kuin skripti tietää, minkä nimisiä kenttiä lomakkeissa on. Saatat kuitenkin haluta kirjoittaa koodia, joka mukautuu lomakkeissa tapahtuviin muutoksiin tai palvelee jopa useampaa kuin yhtä lomaketta ilman, että tarvitsisi huolehtia lomakkeiden kenttien nimistä. PHP4:n globaalit muuttujat ratkaisevat tämän ongelman. Riippuen siitä, käytetäänkö lomakkeen lähetystapana POST- vai GET-metodia, voidaan skriptissä viitata lomakkeen kenttiin muuttujan $HTTP_POST_VARS tai $HTTP_GET_VARS kautta. Ne ovat assosiatiivisia taulukoita, jotka sisältävät lähetetyt nimi/arvo-parit. Listaus 9.6 hyödyntää tätä mahdollisuutta listaamalla GET-metodilla lähetetyn lomakkeen tiedot. Listaus 9.6 Lomakkeen tietojen lukeminen $HTTP_GET_VARS-taulukon kautta 1: <html> 2: <head> 3: <title>listing 9.6 Reading input from any form using the $HTTP_GET_VARS A array</title> 4: </head> 5: <body> 6: <?php 7: foreach ( $HTTP_GET_VARS as $key=>$value ) 8: { 9: print "$key == $value<br>\n"; 10: } 11:?> 12: </body> 13: </html> Koodi luettelee kaikkien lähetettyjen kenttien nimet ja arvot. Tietenkään koodi ei vielä ole tarpeeksi älykäs osatakseen käsitellä parametreja, jotka ovat taulukon kautta esillä. Jos käyttäisimme skriptin yhteydessä listauksen 9.4 lomaketta, jossa on SELECT-elementti, saisimme seuraavan tulostuksen: user == Matt Zandstra address == London, England products == Array $products-taulukko on $HTTP_GET_VARS[products]-taulukkoalkiona, mutta emme ole vielä kirjoittaneet koodia ottamaan tätä seikkaa huomioon. Listaus 9.7 testaa kunkin $HTTP_GET_VARS-taulukon alkion tietotyypin ja hoitaa tulostuksen sen mukaan.
10 Lomakkeiden käsittely Listaus 9.7 Syöttötiedon lukeminen miltä tahansa lomakkeelta käyttämällä $HTTP_GET_VARS-taulukkoa 1: <html> 2: <head> 3: <title>listing 9.7 Reading input from any form using the $HTTP_GET_VARS A array</title> 4: </head> 5: <body> 6: <?php 7: foreach ( $HTTP_GET_VARS as $key=>$value ) 8: { 9: if ( gettype( $value ) == "array" ) 10: { 11: print "$key == <br>\n"; 12: foreach ( $value as $two_dim_value ) 13: print "...$two_dim_value<br>"; 14: } 15: else 16: { 17: print "$key == $value<br>\n"; 18: } 19: } 20:?> 21: </body> 22: </html> Käytämme edellä foreach-silmukkaa $HTTP_GET_VARS-taulukon tutkimiseen. Funktion gettype() avulla saamme selville, onko jokin sen arvo taulukko. Jos itse arvo on taulukko, käytämme toista foreach()- silmukkaa sen läpikäymiseen ja tulostamme arvot selaimelle.
11 9. Lomakkeiden käsittely 159 GET- ja POST-lähetysten erotteleminen Toimiakseen joustavasti tietoa vastaanottavan skriptin tulisi saada tietää, onko tieto taulukossa $HTTP_GET_VARS vai $HTTP_POST_VARS. Useimmissa järjestelmissä lähettämistapa saadaan selville ympäristömuuttujasta $REQUEST_METHOD, jonka tulisi sisältää joko teksti post tai teksti get. Voidaksemme olla täysin varmoja siitä, että skriptimme ovat täysin siirrettäviä, voimme hyödyntää sitä tosiseikkaa, että $HTTP_POST_VARS on olemassa vain silloin, kun lähetystapana on post. Listaus 9.8 täydentää jäsentelijäskriptiämme, jotta se toimisi aina oikein. Listaus 9.8 GET- tai POST-lähetyksen tietojen sieppaaminen 1: <html> 2: <head> 3: <title>listing 9.8 Extracting parameters from 4: either a GET or POST request</title> 5: </head> 6: <body> 7: <?php. 8: $PARAMS = ( isset( $HTTP_POST_VARS ) ) 9:? $HTTP_POST_VARS : $HTTP_GET_VARS; 10: foreach ( $PARAMS as $key=>$value ) 11: { 12: if ( gettype( $value ) == "array" ) 13: { 14: print "$key == <br>\n"; 15: foreach ( $value as $two_dim_value ) 16: print "...$two_dim_value<br>"; 17: } 18: else 19: { 20: print "$key == $value<br>\n"; 21: } 22: } 23:?> 24: </body> 25: </html>
12 Lomakkeiden käsittely Käytämme edellä ehto-operaattoria asettamaan muuttuja nimeltä $PARAMS. Sisäisen isset()-funktion avulla tarkistamme, onko $HTTP_POST_VARS-taulukko asetettu. Funktio palauttaa arvon true, jos parametrina oleva muuttuja on määritelty. Jos $HTTP_POST_VARS-taulukko on määritetty, $PARAMS saa sen arvon; muutoin muuttuja saa arvon $HTTP_GET_VARS. Nyt voimme käyttää $PARAMS-taulukkoa koodin loppuosassa tarvitsematta huolehtia siitä, onko lähetyksessä käytetty post- vai get-metodia. HTML- ja PHP-koodin yhdistäminen yksittäisellä sivulla Joissakin olosuhteissa saatat haluta sisällyttää lomakkeen jäsentelykoodia samalle sivulle, jossa HTMLlomake on. Sellainen yhdistelmä voi olla hyödyllinen, jos sinun on esitettävä sama lomake käyttäjälle useammin kuin kerran. Saisit tietenkin enemmän joustavuutta, jos kirjoittaisit koko sivun dynaamisesti, mutta silloin menettäisit yhden PHP:n tehokeinoista. Mitä enemmän standardia koodia voit jättää sivuillesi, sitä helpompaa sivujen kehittäjien on täydentää sivua kyselemättä sinulta lisätietoja. Sinun tulisi kuitenkin välttää PHP-koodipalasten sirottelemista useisiin eri asiakirjoihin, koska silloin niitä on vaikea lukea ja ylläpitää. Aina kun on mahdollista, sinun tulisi luoda funktioita, joita voidaan kutsua HTML-koodista ja käyttää uudelleen muissa projekteissa. Seuraavissa esimerkeissä olemme luomassa kuvitteellista sivustoa, joka opettaa perusmatematiikkaa esikoulun lapsille. Skripti ottaa numeron lomakkeen kentästä ja kertoo käyttäjälle, onko se suurempi tai pienempi kuin ennaltamääritetty kokonaisluku. Listaus 9.9 luo HTML:n. Tätä esimerkkiä varten tarvitsemme vain yksittäisen tekstikentän. Laitamme vielä mukaan hieman PHP-koodia. Listaus 9.9 HTML-lomake, joka kutsuu itseään 1: <html> 2: <head> 3: <title>listing 9.9 An HTML form that calls itself</title> 4: </head> 5: <body> 6: <form action="<?php print $PHP_SELF?>" method="post"> 7: Type your guess here: <input type="text" name="guess"> 8: </form> 9: </body> 10: </html> Lomake osaa aina käyttää kutsussa sivun nimeä, koska FORM-elementin ACTION-argumentissa on arvo $PHP_SELF. Huomaa, että emme ole laittaneet lomakkeelle lähetyspainiketta. Useimmat nykyiset selaimet lähettävät lomakkeen, jossa on yksittäinen tekstikenttä, kun käyttäjä painaa Enter-näppäintä. Ota kuitenkin huomioon, että jotkin vanhemmat selaimet eivät tee niin. Listauksen 9.9 skripti ei tuota mitään tulostetta. Listauksessa 9.10 alamme muodostaa PHP-osaa. Ensiksi on määritettävä numero, jota käyttäjä yrittää arvata. Täysin toimivassa versiossa annamme satunnaislukugeneraattorin luoda luvun puolestamme, mutta nyt pidämme asiat vielä yksinkertaisina. Seuraavaksi on määritettävä, onko lomake lähetetty. Muutoin yritämme käyttää muuttujaa, jota ei vielä ole määritetty. Voimme tarkistaa lähettämisen testaamalla, onko $guess-muuttuja määritetty. Tuo $guessmuuttuja on saatavilla globaalina muuttujana, jos skriptille on lähetetty guess -parametri. Jos se ei ole läsnä,
13 9. Lomakkeiden käsittely 161 voimme luottaa siihen, että käyttäjä on tullut sivulle lähettämättä lomaketta. Jos arvo on olemassa, voimme jatkaa tarkistamalla sen arvon. Listaus 9.10 PHP-skripti, jossa arvataan numeroa 1: <?php 2: $num_to_guess = 42; 3: $message = ""; 4: if (! isset( $guess ) ) 5: { 6: $message = "Welcome to the guessing machine!"; 7: } 8: elseif ( $guess > $num_to_guess ) 9: { 10: $message = "$guess is too big! Try a smaller number"; 11: } 12: elseif ( $guess < $num_to_guess ) 13: { 14: $message = "$guess is too small! Try a larger number"; 15: } 16: else // oltava yhtä suuri 17: { 18: $message = "Well done!"; 19: } 20:?> 21: <html> 22: <head> 23: <title>listing 9.10 A PHP number guessing script</title> 24: </head> 25: <body> 26: <h1> 27: <?php print $message?> 28: </h1> 29: <form action="<?php print $PHP_SELF?>" method="post">
14 Lomakkeiden käsittely 30: Type your guess here: <input type="text" name="guess"> 31: </form> 32: </body> 33: </html> Tämän skriptin ydin sisältää if-lauseen, joka määrittää, mikä merkkijono sijoitetaan $message-muuttujaan. Jos $guess-muuttujaa ei ole määritetty, oletamme, että käyttäjä on tullut sivullemme ensimmäistä kertaa ja sijoitamme tervetulotoivotuksen muuttujaan. Muutoin testaamme $guess-muuttujan arvon suhteessa lukuun, joka on muuttujassa $num_to_guess. Tulos laitetaan $message-muuttujaan. Jos $guess ei ole suurempi tai pienempi kuin $num_to_guess, oletamme, että ne ovat samoja ja sijoitamme onnitteluviestin muuttujaan. Nyt meidän on vain tulostettava $message-muuttujan arvo HTML-sivulle. Koodissa on toistaiseksi vain vähän muita lisäyksiä, mutta saatat nähdä, kuinka helppoa sivujen kehittäjän olisi nyt jatkaa sivun täydentämistä. Hänen ei tarvitsisi häiritä ohjelmointia millään tavoin. Piilokenttien käyttö tilan tallentamiseen Listauksen 9.10 skripti ei voi mitenkään tietää, kuinka monta arvausta käyttäjä on tehnyt. Voimme käyttää piilokenttää jäljittämään tätä tietoa. Piilokenttä käyttäytyy täsmälleen samalla tavalla kuin tekstikenttä, paitsi että käyttäjä ei näe sitä ennenkuin hän katsoo asiakirjan HTML-koodia. Listaus 9.11 lisää numeronarvauspeliin piilokentän ja vielä muutakin PHP-koodia, joka käsittelee piilokenttää. Listaus 9.11 Tilan tallentaminen piilokentän avulla 1: <?php 2: $num_to_guess = 42; 3: $message = ""; 4: $num_tries = ( isset( $num_tries ) )? ++$num_tries : 0; 5: if (! isset( $guess ) ) 6: { 7: $message = "Welcome to the guessing machine!"; 8: } 9: elseif ( $guess > $num_to_guess ) 10: { 11: $message = "$guess is too big! Try a smaller number"; 12: } 13: elseif ( $guess < $num_to_guess ) 14: { 15: $message = "$guess is too small! Try a larger number";
15 9. Lomakkeiden käsittely : } 17: else // oltava yhtä suuri 18: { 19: $message = "Well done!"; 20: } 21: $guess = (int) $guess; 22:?> 23: <html> 24: <head> 25: <title>listing 9.11 Saving state with a hidden field</title> 26: </head> 27: <body> 28: <h1> 29: <?php print $message?> 30: </h1> 31: Guess number: <?php print $num_tries?> 32: <form action="<?php print $PHP_SELF?>" method="post"> 33: Type your guess here: 34: <input type="text" name="guess" value="<?php print $guess?>"> 35: <input type="hidden" name="num_tries" value="<?php print $num_tries?>"> 36: </form> 37: </body> 38: </html>
16 Lomakkeiden käsittely Piilokentälle annetaan nimi num_tries. Sen arvo kirjoitetaan PHP:n avulla. Samalla myös guess -kenttä päivitetään, jotta käyttäjä näkisi viimeisen arvauksensa. Tämä tekniikka on hyödyllinen skripteille, jotka jäsentelevät käyttäjän syöttöä. Jos estämme lomakkeen lähettämisen jostakin syystä, voimme ainakin sallia käyttäjän muokata aiempaa kyselyämme. Kun sinun on tulostettava lausekkeen arvo selaimelle, voit tietenkin käyttää print()- tai echo()-funktioita. PHP:ssä voidaan hyödyntää myös PHP:n lyhyitä PHP-avaustageja. Jos lisäät lyhyeen avaustagiin yhtäsuuruusmerkin (=), sisällä oleva arvo tulostetaan selaimelle. Esimerkki: <? print $test;?> on sama kuin <?=$test?> PHP-pääkoodin sisällä käytetään ehto-operaattoria kasvattamaan $num_tries-muuttujaa. Jos $num_triesmuuttuja on asetettu, lisäämme siihen ykkösen ja käytämme tuota arvoa. Muutoin alustamme muuttujan arvolla 0. HTML-rungossa voimme nyt raportoida käyttäjälle siitä, kuinka monta arvausta hän on tehnyt. Älä luota täysin piilokenttiin. Et tiedä, mitä niiden arvot ovat olleet! Se ei tarkoita sitä, että et voisi käyttää niitä. Ole vain tietoinen siitä, että käyttäjät voivat katsella ja muuttaa lähdekoodia ja huiputtaa sitten skriptiäsi. Käytä piilokenttiä esteettisistä syistä, Niillä ei ole juuri mitään turvallisuusarvoa. Käyttäjän uudelleen ohjaaminen Skriptissämme on vielä yksi suuri heikkous. Lomake tulostetaan uudelleen, arvasipa käyttäjä oikein tai ei. Se, että HTML-koodiin viitataan suoraan, tekee vaikeaksi välttää koko sivun uudelleen tulostumista. Voimme kuitenkin ohjata käyttäjän onnittelusivulle! Kun palvelinskripti keskustelee asiakkaan kanssa, sen tulee ensin lähettää joitakin otsikoita, jotka tarjoavat informaatiota seuraavasta asiakirjasta. PHP hoitaa sen tavallisesti puolestasi automaattisesti, mutta voit myös lähettää omia otsikkorivejäsi käyttämällä PHP:n header()-funktiota. Ennen funktion käyttöä sinun tulee olla varma siitä, että mitään tulostusta ei ole vielä mennyt selaimelle. Kun sisältö lähetetään selaimelle ensimmäistä kertaa, PHP lähettää otsikot, jolloin omien otsikoiden lähettäminen on jo liian myöhäistä. Mikä tahansa asiakirjasta tapahtuva tulostus, pelkkä rivinvaihto tai skriptitagien ulkopuolella oleva välilyönti saa aikaan otsikoiden lähettämisen. Jos aiot käyttää header()-funktiota skriptissäsi, sinun tulee varmistaa, että ennen funktion kutsua ei ole mitään tulostusta selaimelle. Sinun tulee tarkistaa myös kaikki mahdolliset kirjastot, joita käytät skripteissäsi. Listaus 9.12 näyttää tyypilliset otsikot, jotka PHP-koodi lähettää selaimelle.
17 9. Lomakkeiden käsittely 165 Listaus 9.12 PHP-skriptin lähettämät tyypilliset palvelinotsikot 1: HEAD /matt/php-book/forms/eg9.1.php HTTP/1.0 2: HTTP/ OK 3: Date: Sun, 09 Jan :37:45 GMT 4: Server: Apache/1.3.9 (UNIX) PHP/4.0 5: Connection: close 6: Content-Type: text/html Voit nähdä otsikot, jotka lähetetään vastauksena pyyntöön käyttämällä telnetasiakasta. Kytkeydy palvelimelle porttiin 80 ja kirjoita sitten komento HEAD /path/to/file.html HTTP/1.0 ja paina Enteriä kaksi kertaa. Otsikoiden pitäisi nyt tulostua. Lähettämällä Location -otsikon PHP:n oletusotsikon sijaan voit saada selaimen ohjautumaan uudelle sivulle: header( "Location: ); Olettamalla, että olemme luoneet sopivan onnittelusivun nimeltä congrats.html, voimme muuttaa skriptiämme ohjaamaan käyttäjä tuolle uudelle sivulle, jos hän on arvannut numeron oikein. Koodi on listauksessa Listaus 9.13 Header()-funktion käyttäminen omien otsikoiden lähettämiseen 1: <?php 2: $num_to_guess = 42; 3: $message = ""; 4: $num_tries = ( isset( $num_tries ) )? ++$num_tries : 0; 5: if (! isset( $guess ) ) 6: { 7: $message = "Welcome to the guessing machine!"; 8: } 9: elseif ( $guess > $num_to_guess ) 10: { 11: $message = "$num is too big! Try a smaller number"; 12: }
18 Lomakkeiden käsittely 13: elseif ( $guess < $num_to_guess ) 14: { 15: $message = "$num is too small! Try a larger number"; 16: } 17: else // oltava yhtä suuri 18: { 19: header( "Location: congrats.html" ); 20: exit; 21: } 22: $guess = (int) $guess; 23:?> 24: <html> 25: <head> 26: <title>listing 9.13 Using header() to send raw headers</title> 27: </head> 28: <body> 29: <h1> 30: <?php print $message?> 31: </h1> 32: Guess number: <?php print $num_tries?> 33: <form action="<?php print $PHP_SELF?>" method="post"> 34: Type your guess here: 35: <input type="text" name="guess" value="<?php print $guess?>"> 36: <input type="hidden" name="num_tries" 37: value="<?php print $num_tries?>"> 38: </form> 39: </body> 40: </html> Koodin if-rakenteen else-osa saa nyt aikaan sen, että selain lataa tiedoston congrats.html. Kaikki tulostus nykyiseltä sivulta keskeytetään exit-lauseella, joka lopettaa jäsentelyn ja tulostuksen, olipa kyseessä HTML- tai PHP-koodia.
19 9. Lomakkeiden käsittely 167 Tiedoston lataamiseen tarvittava lomake ja skripti Toistaiseksi olemme katsoneet vain yksinkertaisen lomakkeen syöttämistä. Netscape 2 ja Internet Explorer 4 ja niitä uudemmat selaimet tukevat tiedostojen lataamista palvelimelle. Niin tekee myös PHP4. Tässä jaksossa tutkimme niitä PHP:n piirteitä, jotka liittyvät tiedostojen siirtämiseen palvelimelle. Ensin meidän on luotava HTML-sivu. HTML-lomakkeiden, joissa on tiedostojen lataamiseen liittyviä kenttiä, täytyy sisältää ENCTYPE-argumentti: ENCTYPE="multipart/form-data" PHP vaatii myös sen, että piilokenttä on mukana koodissa ennen tiedoston lataamiseen tarkoitettua kenttää. Sitä voidaan kutsua nimellä MAX_FILE_SIZE ja siinä tulisi olla arvo, joka edustaa tiedoston maksimikokoa tavuina. Koko ei voi ylittää sitä maksimikokoa, joka on annettu php.ini-tiedoston kohdassa upload_max_file_size. Oletusarvona on 2 megatavua. Kun tiedoston maksimikoko on annettu, voit lisätä lataamiskentän sivulle. Se on pelkkä tekstikenttä, jonka tyyppinä on file. Kentälle voi antaa minkä tahansa nimen. Listaus 9.14 sisältää kaiken edellä mainitun peruskoodin. Listaus 9.14 Suppea lomake tiedoston lataamiseen 1: <html> 2: <head> 3: <title>listing 9.14 A simple file upload form</title> 4: </head> 5: <body> 6: <form enctype="multipart/form-data" action="<?print $PHP_SELF?>" method=" POST"> 7: <input type="hidden" name="max_file_size" value="51200"> 8: <input type="file" name="fupload"><br> 9: <input type="submit" value="upload!"> 10: </form> 11: </body> 12: </html> Huomaa, että nytkin lomake kutsuu sivua, jolla lomake on. Tämä johtuu siitä, että aiomme lisätä hieman PHP-koodia, joka käsittelee ladattavaa tiedostoa. Rajoitamme tiedoston koon 50 kilotavuun ja annamme lataamiskentälle nimen fupload. Kuten saatat odottaa, tuosta nimestä tulee pian tärkeä. Kun tiedosto ladataan onnistuneesti, sille annetaan uniikki nimi ja se tallennetaan tilapäiskansioon (UNIXjärjestelmissä kansio on /tmp). Tiedoston koko polku on saatavilla globaalissa muuttujassa, jolla on sama nimi kuin lomakekentällä (nyt nimenä on siis $fupload). PHP tallentaa lisäinformaatiota tiedostosta useaan globaaliin muuttujaan. Niissä on muuttujan nimi (joka johdetaan lomakekentän nimestä), jota seuraa alaviiva ja sitten tunnisteet name, size ja type. Taulukko 9.2 näyttää näiden muuttujien merkityksen.
20 Lomakkeiden käsittely Taulukko 9.2 Globaalit muuttujat tiedoston lataamisessa Muuttujan nimi Sisältää Esimerkki $fupload Polku tilapäismuuttujaan /tmp/php5pq3fu $fupload_name Ladattavan tiedoston nimi test.gif $fupload_size Ladattavan tiedoston koko tavuina 6835 $fupload_type Ladattavan tiedoston MIME-tyyppi image/gif PHP4 sisältää uuden sisäisen muuttujan, jossa on tietoa ladattavasta tiedostosta taulukkomuodossa. Jos lomakkeen kautta ladataan yksi tai useampi tiedosto, $HTTP_POST_FILES-taulukon indeksoinnissa käytetään aina kunkin ladattavan tiedoston nimeä. Näitä avaimia vastaava arvo on aina oma assosiatiivinen taulukkonsa. Nuo kentät kuvataan taulukossa 9.3. Taulukko9.3 Tiedostojen lataamiseen liittyvät globaalit muuttujat Elementti Sisältää Esimerkki $HTTP_POST_FILES[fupload] Ladattavan tiedoston nimi test.gif [name] $HTTP_POST_FILES[fupload] Ladattavan tiedoston koko 6835 [size] $HTTP_POST_FILES[fupload] [type] Ladattavan tiedoston MIME-tyyppi image/gif Tämän tiedon avulla voimme nyt kirjoittaa pikavauhtia skriptin, joka esittää tietoa ladattavista tiedostoista (katso listausta 9.15). Jos ladattava tiedosto on GIF-muodossa, skripti yrittää jopa esittää sen. Listaus 9.15 Tiedoston lataava skripti 1: <html> 2: <head> 3: <title>listing 9.15 A file upload script</title> 4: </head> 5: <?php 6: $file_dir = "/home/matt/htdocs/uploads"; 7: $file_url = " 8: if ( isset( $fupload ) ) 9: { 10: print "path: $fupload<br>\n"; 11: print "name: $fupload_name<br>\n"; 12: print "size: $fupload_size bytes<br>\n"; 13: print "type: $fupload_type<p>\n\n"; 14: if ( $fupload_type == "image/gif" )
21 9. Lomakkeiden käsittely : { 16: copy ( $fupload, "$file_dir/$fupload_name") or die ("Couldn't copy"); 17: 18: print "<img src=\"$file_url/$fupload_name\"><p>\n\n"; 19: } 20: } 21:?> 22: <body> 23: <form enctype="multipart/form-data" action="<?php print $PHP_SELF?>" method="post"> 24: <input type="hidden" name="max_file_size" value="51200"> 25: <input type="file" name="fupload"><br> 26: <input type="submit" value="send file!"> 27: </form> 28: </body> 29: </html> Listauksessa 9.15 tarkistamme ensin, onko $fupload-muuttuja olemassa. Jos se on olemassa, oletamme, että tiedostokin on olemassa (ainakin tämän esimerkin tarpeita varten). Älä koskaan oleta, että skripteillesi lähetetty tieto on peräisin tietystä lähteestä, tai että pyyntö sisältää sellaisen tietotyypin ja arvoalueen, jotka skriptimme hyväksyy. Listauksessa 9.15 oletimme, että tietty muuttuja johdetaan tiedostokentän mukaan. Itse asiassa mikään ei voi estää pahansuopaista käyttäjää luomasta omaa lomakettaan, joka lähettää tietoa skriptillemme. Hän voisi helposti lähettää skriptille parametrin, jolla on sama nimi kuin lataamiskentällä, mutta sisältönä pelkkä teksti. Tämä voi kuulostaa vainoharhaiselta ja niin sen tuleekin kuulostaa. Palvelinpuolen ohjelmoinnissa on parasta olla luottamatta käyttäjiin: tieto voi tulla skriptillemme mistä tahansa ulkoisesta lähteestä, vaikka lomake näyttäisikin olevan joissakin tapauksissa sama kuin luomamme lomake. Jos tiedosto on ladattu, on ladatun tiedoston polku palvelimella muuttujassa $fupload ja voimme tulostaa sen selaimelle. Voimme tulostaa samalla tiedoston nimen, joka on muuttujassa $fupload_name, tiedoston koon muuttujasta $fupload_size sekä tiedoston MIME-tyypin, joka on muuttujassa $fupload_type.
22 Lomakkeiden käsittely Sitten testaamme $fupload_type-muuttujassa olevan arvon. Jos se on image/gif, oletamme, että kyseessä on GIF-kuva. Itse asiassa olisi hyvä testata se ottamatta huomioon isoja ja pieniä kirjaimia. Asiaa selvitetään luvussa 17, Merkkijonojen käsittely. Olettamuksemme ei nyt ota myöskään huomioon sitä mahdollisuutta, että myös jokin muu tiedosto olisi nimetty.gif-tunnusta käyttäen. Muista kuitenkin sellainen mahdollisuus todellisissa palveluskripteissäsi. Jos kyseessä on GIF-kuva, käytämme copy()-funktiota kopioimaan ladattavan tiedoston oletuspaikastaan kansioon, joka on palvelimella. Nyt copy()-funktiomme ottaa kaksi merkkijonoa: alkuperäisen ja uuden polun tiedostoon. Se palauttaa arvon true, jos kopiointi onnistuu. Alkuperäinen polku tallennetaan $fuploadmuuttujaan. Olemme luoneet muuttujan $file_dir, joka sisältää täyden polun kansioon, jota haluamme käyttää kuvien tallentamiseen. Tuo arvo yhdessä $fupload-muuttujaan tallennetun tiedostonimen kanssa muodostaa toisen argumentin, joka viedään copy()-funktiolle. Funktion kutsun tuloksena ladattu tiedosto kopioidaan haluamaamme kansioon alkuperäisellä nimellään. Huomaa, että UNIX-järjestelmissä palvelinskriptit ajetaan erikoiskäyttäjän tunnuksella, usein kyseessä on nobody. Ennen kuin kopioit tiedoston kansioon, sinun tulee varmistaa, että prosessisi sallitaan tekevän niin. Käytämme nyt oroperaattoria ja die()-funktiota keskeyttämään skripti, jos kopiointi epäonnistuu. Käsittelemme tätä tekniikkaa yksityiskohtaisemmin luvussa 10, Tiedostojen käsittely. Kun olemme kopioineet tiedoston, meidän ei tarvitse tuhota alkuperäistä tiedostoa. PHP hoitaa asian puolestamme. Kun olemme luoneet $file_dir-muuttujan tallentamaan kohdekansiomme tiedostopolun, luomme myös muuttujan nimeltä $file_url tallentamaan saman kansion URL:n. Esitämme skriptin välissä kuvan HTML-koodilla. Yhteenveto Jos olet pysynyt kärryillä, olet saanut kokea, että yhä jännittävämpiä asioita on tulossa. Nyt sinulla on työkaluja, joilla voit luoda todella hienoja ja vuorovaikutteisia ympäristöjä. Muutamia seikkoja kuitenkin vielä puuttuu. Nyt, kun osaat siepata tietoja käyttäjältä, olisi mukavaa tehdä jotain noilla tiedoilla. Kirjoittaa ne esimerkiksi tiedostoon. Se onkin seuraavan tunnin aiheena. Tällä tunnilla opit työskentelemään assosiatiivisella $GLOBALS-taulukolla ja käsittelemään ympäristömuuttujia, lomaketietoja sekä lataamaan tiedostoja globaalien muuttujien avulla. Opit myös lähettämään omia otsikkotietojasi asiakkaalle, jotta hänet ohjattaisiin uuteen osoitteeseen. Opit myös sieppaamaan tietoa lomakelähetyksistä ja viemään tietoa skriptikutsulta toiselle piilokenttien avulla. K&V K Voinko luoda taulukoita muidenkin elementtien kuin luetteloiden ja valintaruutujen arvoille? V Kyllä, itse asiassa jokainen elementin nimi, joka päättyy hakasulkupariin, viittaa taulukkoon. Voit hyödyntää tuota seikkaa esimerkiksi ryhmittämällä useista kentistä lähetetyt, erityyppiset arvot taulukkoon. K Luvussa käytetty header()-funktio tuntuu tehokkaalta. Tutkimmeko HTTP-otsikoita vielä tarkemmin jossakin tulevassa luvussa? V Käsittelemme Hypertext Transfer Protocol (HTTP) -ympäristöä tarkemmin luvussa 13, Pintaa syvemmältä.
23 9. Lomakkeiden käsittely 171 K Lomakkeen elementtien automaattinen muuntaminen muuttujiksi tuntuu hieman riskialttiilta toimenpiteeltä. Voinko estää sen tapahtumisen? V Kyllä, voit varmistaa, että lähetetyn lomakkeen elementtien nimiä ei muunneta globaaleiksi muuttujiksi asettamalla php.ini-tiedoston gpc_globals-asetusarvoksi off. Työpaja Työpaja tarjoaa pikakysymyksiä, joiden avulla voit kerrata läpikäytyä materiaalia. Yritä ymmärtää vastaukset ennen kuin jatkat seuraavaan lukuun. Vastaukset annetaan liitteessä A. Kysymyksiä 1. Mitä ympäristömuuttujaa voisit käyttää määrittääksesi käyttäjän IP-osoitteen? 2. Mitä ympäristömuuttujaa voisit käyttää saadaksesi selville selaimen, joka kutsui skriptiäsi? 3. Kuinka sinun tulisi nimetä lomakekenttäsi päästäksesi käsiksi lähetettyihin tietoihin $form_array-nimisen taulukon avulla? 4. Mikä sisäinen taulukko sisältää kaikki GET-tavalla lähetetyn lomakkeen tiedot? 5. Mikä sisäinen taulukko sisältää kaikki POST-tavalla lähetetyn lomakkeen tiedot? 6. Mitä funktiota käyttäisit ohjataksesi selaimen uudelle sivulle? Minkä merkkijonon veisit sille? 7. Kuinka rajoittaisit sen tiedoston koon, jonka käyttäjä voisi lähettää lomakkeen kautta? 8. Kuinka voisit asettaa kokorajoituksen kaikilta lomakkeilta ja kaikista skripteistä ladattaville tiedostoille? Toiminta 1. Luo laskinskripti, joka sallii käyttäjän lähettää kaksi numeroa ja valita haluamansa laskutoimituksen (yhteenlasku, vähennyslasku, jakolasku, kertolasku). 2. Käytä piilokenttiä skriptissä, jonka luot kohdassa 1 tallentamaan ja esittämään käyttäjän tekemien laskutoimitusten määrä (eli lomakkeen lähettämisten määrä).
24 Lomakkeiden käsittely
Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä.
Lomakkeet Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä. Lomakkeen tyylit kannattaa määritellä omaan, eriliseen,
LisätiedotTaustaa. CGI-ohjelmointi
Taustaa CGI-ohjelmointi CGI = Common Gateway Interface Hyvin yksinkertainen ja helppo tapa toteuttaa dynaamisuutta ja interaktivisuutta htmldokumentteihin Kehitetty tiedon siirtoon palvelimen ja asiakasselaimen
LisätiedotICT1TN004. Lomakkeet. Heikki Hietala
Lomakkeet Heikki Hietala Lomakkeet Lomakkeita käytetään keräämään tietoa käyttäjältä ja siirtämään se palvelimelle Lomakkeen luominen ei yksin riitä, vaan pitää luoda myös lomakkeenkäsittelijä Lomakkeen
LisätiedotOPPITUNTI 11 DBM-funktioiden käyttö
11. DBM-funktioiden käyttö 193 OPPITUNTI 11 DBM-funktioiden käyttö Jos sinulla ei ole pääsyä SQL-tietokantaan, esimerkiksi MySQL- tai Oracle-tietokantaan, sinulla on varmaankin mahdollisuus käyttää DBM-tyylistä
LisätiedotOPPITUNTI 20 Tilan tallentaminen istuntofunktioilla
20. Tilan tallentaminen istuntofunktiolla 353 OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla Edellisellä tunnilla tutkimme tilan tallentamista evästeiden ja kyselymerkkijonojen avulla. PHP4 on kuitenkin
LisätiedotOPPITUNTI 3 Ensimmäinen skripti
3. Ensimmäinen skripti 35 OPPITUNTI 3 Ensimmäinen skripti Kun olet asentanut PHP:n ja asettanut sen kokoonpanon, on aika laittaa ohjelmisto testaukseen. Tällä tunnilla luot ensimmäisen skriptisi ja tutkit
LisätiedotPalvelinpuolen ohjelmointi
Palvelinpuolen ohjelmointi Staattiset ja dynaamiset web-sivut Staattiset web-sivut ovat valmiissa muodossaan palvelimella (tai paikallisesti omalla koneella). Javascript mahdollistaa paikalliset dynaamiset
LisätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
LisätiedotSSH Secure Shell & SSH File Transfer
SSH Secure Shell & SSH File Transfer TIETOHALLINTO Janne Suvanto 1.9 2002 Sisällysluettelo Sisällysluettelo... 1 Yleistä... 2 SSH Secure Shell ohjelman asetukset... 3 POP3 tunnelin asetukset... 6 Yhteyden
LisätiedotOPPITUNTI 5 Ohjelman kulku
5. Ohjelman kulku 67 OPPITUNTI 5 Ohjelman kulku Viime tunnilla luomamme skriptit olivat suoraviivaisia. Ohjelmalauseet suoritettiin aina samassa järjestyksessä, joten ohjelmissamme ei ollut lainkaan joustavuutta.
Lisätiedot6. Funktiot 85. Kuinka funktioita määritellään ja kutsutaan. Kuinka funktioille viedään arvoja ja niistä palautetaan arvoja
6. Funktiot 85 OPPITUNTI 6 Funktiot Funktiot ovat hyvin laaditun skriptin perusta. Ne tekevät koodista helppolukuista ja uudelleen käytettävää. Laajoja projekteja on mahdotonta hallita ilman funktioiden
LisätiedotDigitaalisen median tekniikat xhtml - jatkuu
Digitaalisen median tekniikat xhtml - jatkuu 26.3.2004 Harri Laine 1 Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite
LisätiedotDigitaalisen median tekniikat xhtml - jatkuu Harri Laine 1
Digitaalisen median tekniikat xhtml - jatkuu 30.4.2004 Harri Laine 1 XHTML lomakkeet Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite
Lisätiedot582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus
582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen
Lisätiedot8. Oliot 123. Kuinka luokkia luodaan ja olioita saadaan aikaan. Kuinka luodaan ja käsitellään ominaisuuksia ja metodeja
8. Oliot 123 OPPITUNTI 8 Oliot Oliopohjainen ohjelmointi on vaarallista. Se muuttaa koodaamista koskevia ajatuksiasi ja kun uudet käsitteet ovat saaneet jalansijaa, ne eivät katoa mitenkään. PHP on Perlin
LisätiedotOPPITUNTI15 Päivämäärien käsittely
15. Päivämäärien käsittely 269 OPPITUNTI15 Päivämäärien käsittely Päivämäärät kuuluvat niin usein jokapäiväiseen elämään, että niiden käsittely on rutiininomaista. Kalenterin käsittely ei aina ole kuitenkaan
LisätiedotGroupWise Calendar Publishing Host User
GroupWise 8 Calendar Publishing Host User 8 17. lokakuu 2008 Novell GroupWise Calendar Publishing Host User PIKAKÄYNNISTYS www.novell.com YLEISTÄ Novell GroupWise Calendar Publishing Host User on Web-pohjainen
LisätiedotLomakkeet HTML5. Elina Ulpovaara. Testaus: IE9 Firefox7 Opera11 Chrome
Lomakkeet HTML5 Elina Ulpovaara Testaus: IE9 Firefox7 Opera11 Chrome SELAIN Käyttäjä täyttää lomakkeen ja painaa lähetys-painiketta. Selain lähettää käyttäjän antamat tiedot palvelimelle lomakkeessa määrättyyn
LisätiedotDigitaalisen median tekniikat, k2004 HY/TKTL, palvelinohjelmointi_1 21/04/2004. Harri Laine 1. Palvelinohjelmointi. Staattinen www-sivu
Digitaalisen median tekniikat Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu voi muodostua monesta osasta, esimerkiksi kuvat ovat eri tiedostoja
LisätiedotOPPITUNTI 21 Palvelinympäristö
21. Palvelinympäristö 365 OPPITUNTI 21 Palvelinympäristö Edellisellä tunnilla tutkimme tekniikoita, joiden avulla voidaan kommunikoida etäkoneiden kanssa ja saada tietoa käyttäjiltä. Tällä tunnilla käsittelemme
LisätiedotDigitaalisen median tekniikat. Palvelinohjelmointi Harri Laine 1
Digitaalisen median tekniikat Palvelinohjelmointi 21.4.2004 Harri Laine 1 Palvelinohjelmointi Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu
LisätiedotDigitaalisen median tekniikat. Palvelinohjelmointi
Digitaalisen median tekniikat Palvelinohjelmointi 21.4.2004 Harri Laine 1 Palvelinohjelmointi Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu
LisätiedotHarri Laine 1. Digitaalisen median tekniikat, s2007 HY/TKTL, palvelinohjelmointi_1. Palvelinohjelmointi
Digitaalisen median tekniikat Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu voi muodostua monesta osasta, esimerkiksi kuvat ovat eri tiedostoja
LisätiedotOSA I Aloitetaan. Oppitunti. 1. PHP: Kotisivusta portaaliin 2. PHP:n asentaminen 3. Ensimmäinen skriptisi. 17 Johdanto
17 Johdanto OSA I Aloitetaan Oppitunti 1. PHP: Kotisivusta portaaliin 2. PHP:n asentaminen 3. Ensimmäinen skriptisi 18 1. Kotisivusta Portaaliin 19 OPPITUNTI 1 PHP: Kotisivusta portaaliin Tervetuloa PHP-maailmaan!
LisätiedotTIETOJENKÄSITTELY/PIKATAIVAL2 Tehtävä G
TIETOJENKÄSITTELY/PIKATAIVAL2 Tehtävä G 1 Tehtävänäsi on määritellä tietokantaan KisatSVNL.mdb lomake Kilpailut ohessa olevan mallin mukaan. Lomake on tarkoitettu kilpailutietojen lisäykseen, selailuun
LisätiedotT-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot
T-111.361 Hypermediadokumentin laatiminen -Ohjelmointi Peruskäsitys www-ohjelmoinnin kentästä Tekniikat interaktiivisuuden toteuttamiseen tekniikat tekniikat Tietokannat Juha Laitinen TKK/TML juha.laitinen@hut.fi
Lisätiedot13. Pintaa syvemmältä 233
13. Pintaa syvemmältä 233 OPPITUNTI 13 Pintaa syvemmältä Tällä tunnilla tutkimme joitakin funktioita, joilla saamme informaatiota ympäristöstä tai kommunikoimme ulkoisen maailman kanssa. Tämän tunnin aiheita
Lisätiedot7. Taulukot 105. Kuinka taulukoiden tietoa käsitellään ja lajitellaan
7. Taulukot 105 OPPITUNTI 7 Taulukot Taulukot ja niiden käsittelyyn liittyvät toiminnot laajentavat suuresti PHP4-skriptien käyttöaluetta ja joustavuutta. Kun tunnet taulukot, voit tallentaa niihin monimutkaisia
LisätiedotOPPITUNTI 19 Tilan tallentaminen evästeiden ja kyselymerkkijonojen avulla
19. Tilan tallentaminen evästeiden ja kyselymerkkijonojen avulla 337 OPPITUNTI 19 Tilan tallentaminen evästeiden ja kyselymerkkijonojen avulla HTTP on tilaton protokolla. Se merkitsee sitä, että jokainen
LisätiedotJulkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje
Muistio 1 (7) Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Sisällys 1 Johdanto... 1 2 Suojatun viestin vastaanottaminen... 1 3 Suojatun viestin lukeminen... 2 4 Vastaanotetun
LisätiedotEKP:N HANKINTAMENETTELYJEN VERKKOPALVELU OSALLISTUMINEN HANKINTAMENETTELYIHIN
Taloushallinnon pääosasto ECB-UNRESTRICTED 8.11.2016 EKP:N HANKINTAMENETTELYJEN VERKKOPALVELU OSALLISTUMINEN HANKINTAMENETTELYIHIN Seuraavassa esitetään ohjeet pyydettyjen tietojen toimittamiseen EKP:n
LisätiedotOSA II Kieli. Oppitunti. 4. Rakennuslohkot 5. Ohjelman kulku 6. Funktiot 7. Taulukot 8. Oliot
43 OSA II Kieli Oppitunti 4. Rakennuslohkot 5. Ohjelman kulku 6. Funktiot 7. Taulukot 8. Oliot 4. Rakennuslohkot 45 OPPITUNTI 4 Rakennuslohkot Tällä tunnilla joudut paneutumaan itse ohjelmointikieleen.
LisätiedotIDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
Lisätiedot12.10.2011. Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle
(Ei yhtään videota tällä kertaa.) X niin kuin Cross-Platform, Apache, MySql, PHP, Perl Kehitysympäristö EI tuotantokäyttöön Monet tärkeät tietoturva-asetukset ovat oletuksena pois päältä Erittäin nopea
LisätiedotATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotAJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML
AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen
LisätiedotJulkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje
Ohje 1 (10) Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Sisällys 1 Johdanto... 1 2 Suojatun viestin vastaanottaminen... 1 3 Suojatun viestin lukeminen... 2 4 Vastaanotetun
LisätiedotWritten by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36
!!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
LisätiedotOpas administraattori-tason käyttäjille. MANAGERIX -ohjelman esittely... 2 Kirjautuminen... 2
MANAGERIX Opas administraattori-tason käyttäjille SISÄLLYS MANAGERIX -ohjelman esittely... 2 Kirjautuminen... 2 Käyttöliittymä... 2 1 ORGANISAATIO Organisaation tietojen tarkastelu ja muokkaaminen4 Yhteenveto
LisätiedotContact Form 7 -lomakkeen yhdistäminen Timeline Manageriin
Contact Form 7 -lomakkeen yhdistäminen Timeline Manageriin Tarvittavat Wordpress-lisäosat 1. Contact Form 7 https://wordpress.org/plugins/contact-form-7/ Mahdollistaa Contact Form 7 -lomakkeiden luomisen
LisätiedotMatriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.
Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.
Lisätiedot2 3 LIITE 2. Index.php 1 (10) 4 5 <?php 6 7 /*! \mainpage Artikkelihallintaohjelma 8 * 9 * \section intro_sec Introduction 10 * 11 * Tämän on
2 3 LIITE 2. Index.php 1 (10) 4 5
LisätiedotDigitaalisen median tekniikat xhtml - jatkuu
Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1 Kehykset IFRAME - elementti (inline frame) mahdollistaa kehysten upottamisen myös muihin kuin frameset.dtd:n mukaisiin dokumentteihin IFRAME toimii
LisätiedotSeaMonkey pikaopas - 1
SeaMonkey pikaopas SeaMonkey on ilmainen ja yksinkertainen www-sivujen teko-ohjelma. Sillä on kätevää koostaa yksinkertaisia sivuja ilman, että täytyy tietää jotain HTML-koodista. Tämä opas esittelee sivuston
LisätiedotOhjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja
LisätiedotJärjestelmäarkkitehtuuri (TK081702)
Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,
LisätiedotKirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.
Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita
LisätiedotEK:n palkkatiedustelun asiointipalvelu ja SFTPtiedonsiirto. Ohje
EK:n palkkatiedustelun asiointipalvelu ja SFTPtiedonsiirto Ohje Tiedonanto- ja siirtopalvelut Palkkatiedustelun tietoja voi toimittaa eri tekniikoilla 1. Syöttämällä käsin asiointipalvelun lomakenäkymässä
LisätiedotSQL Buddy JAMK Labranet Wiki
Page 1 of 9 SQL Buddy JAMK Labranet Wiki Sisällysluettelo Yleistä SQL Buddy:sta kotisivu :http://sqlbuddy.com/ SQL Buddy on kevyt hallintatyökalu MySQL-tietokannalle. Järjestelmävaatimukset Serverin vaatimukset
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/
LisätiedotJavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia)
JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) Esim 5.1 laskujärjestys operaattorit var tulos = 5 + 4 * 12 / 4; document.write("5 + 4 * 12 / 4 laskutoimituksen tulos
LisätiedotTALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE
TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE HERVANNAN KIRJASTON TIETOTORI Insinöörinkatu 38 33720 Tampere 040 800 7805 tietotori.hervanta@tampere.fi TALLENNETAAN MUISTIKULLE JA MUISTIKORTILLE 1 Muistitikun
LisätiedotFlash ActionScript osa 4
Flash ActionScript osa 4 Tekstikentät Flash:ssa tekstikenttä voi olla tyypiltään joko TLF Text tai Classic Text. TLF Text on uusi Flash CS5 tullut tyyppi. Sen animointi ja muotoilu ominaisuudet ovat monipuolisemmat
LisätiedotLuento 3. Jouni Ikonen - Jouni.Ikonen lut.fi
CT30A3200 - WWW-sovellukset Luento 3 Jouni Ikonen - Jouni.Ikonen lut.fi Kalvot Arto Hämäläisen kalvojen pohjalta 1 Jouni Ikonen HTML-lomakkeet HTML-lomakkeiden avulla voidaan WWW-sovelluksessa hakea käyttäjän
LisätiedotOPPITUNTI 24 Esimerkki (Osa 2)
24. Esimerkki (Osa 2) 429 OPPITUNTI 24 Esimerkki (Osa 2) Luvussa 23, "Esimerkki (Osa 1)" rakensimme ympäristön, joka sallii käyttäjien kirjoittautua palveluun ja lisätä kerho- ja tapahtumatiedot järjestelmään.
LisätiedotVerkkojulkaiseminen Minna Väisänen. HTML5-tehtävä
Verkkojulkaiseminen Minna Väisänen HTML5-tehtävä Kirjoita Dreamweaverissa oheisen nettisivun koodi. Lisää xx-kohtiin omat tietosi. Kuvan nimi on joki.jpg. Ensin tehdään sivusto ja sitten yksittäinen sivu.
LisätiedotJypelin käyttöohjeet» Ruutukentän luominen
Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen
LisätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotJohdatus Ohjelmointiin
Johdatus Ohjelmointiin Syksy 2006 Viikko 2 13.9. - 14.9. Tällä viikolla käsiteltävät asiat Peruskäsitteitä Kiintoarvot Tiedon tulostus Yksinkertaiset laskutoimitukset Muuttujat Tiedon syöttäminen Hyvin
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero
LisätiedotHarjoitus 3 (viikko 39)
Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Vältä liian pitkiä rivejä. Ohjelmointitehtävien
LisätiedotWWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa
WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa,
LisätiedotTukipyyntö-toiminnon ohje
Tukipyyntö-toiminnon ohje Diagnoosilaitteen teknisen tukipyyntötoiminnon avulla avataan teknistä tukea koskeva asiakirja, joka sisältää tietoja ongelmatilanteen ratkaisemiseksi. Sen kautta saadaan käyttöön
LisätiedotHakemistojen sisällöt säilötään linkitetyille listalle.
Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen
LisätiedotRyhmäharjoitus I: Google Drive. TIEY4 Tietotekniikkataidot, kevät 2017 Tehdään ryhmäharjoitustunnilla 13.3.
Ryhmäharjoitus I: Google Drive TIEY4 Tietotekniikkataidot, kevät 2017 Tehdään ryhmäharjoitustunnilla 13.3. Ryhmäharjoitus Johdanto (10 min) Tehtävä (60 min) Palaute (10 min) Miksi Virtuaalinen globaali
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
LisätiedotAlkuun HTML5 peliohjelmoinnissa
Paavo Räisänen Alkuun HTML5 peliohjelmoinnissa www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida ja levittää ei kaupallisissa tarkoituksissa. Sisällysluettelo 1: Alkusanat 2: Alkuun 3: Pelinäkymä
LisätiedotGoogle Forms / Anna Haapalainen. Google Forms Googlen lomake-työkalu
Google Forms Googlen lomake-työkalu Google Forms / Anna Haapalainen Googlen lomaketyökalulla on helppoa tehdä sähköisiä kyselyitä, tehtäviä tai kokeita. Voidaksesi luoda Googlen lomakkeita, sinulla tulee
LisätiedotOhjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
LisätiedotTietueet. Tietueiden määrittely
Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään
Lisätiedot3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.
PHP-kielen perusteet Käytä lähteenä PHP:n virallista manuaalia http://www.php.net/docs.php tai http://www.hudzilla.org/php (siirry Paul Hudsonin verkkokirjaan). Lisää materiaalia suomeksi esimerkiksi ohjelmointiputkan
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman
LisätiedotVerkkosivut perinteisesti. Tanja Välisalo 11.2.2009
Verkkosivut perinteisesti Tanja Välisalo 11.2.2009 WWW-sivujen vieminen omaan kotisivutilaan yliopiston mikroverkossa https://salasana.jyu.fi Klikkaa painiketta Activate WWW Klikkaa painiketta Activate
LisätiedotTuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.
laskutus_index http://media.stadia.fi/~0700527/laskutus/laskutus_index.html Sivu 1/1 13.12.2007 Laskutus -tietokanta Henkilöiden tiedot: Lisää uuden henkilön tiedot Muuta tai poista henkilön tiedot Selaa
LisätiedotMuistitikun liittäminen tietokoneeseen
Muistitikun käyttäminen 1 Muistitikun liittäminen tietokoneeseen Muistitikku liitetään tietokoneen USB-porttiin. Koneessa voi olla useita USB-portteja ja tikun voi liittää mihin tahansa niistä. USB-portti
LisätiedotPaavo Räisänen. WampServer palvelimen asennus ja käyttö Eclipsen kanssa, sekä ensimmäinen FTP yhteys. www.ohjelmoimaan.net
Paavo Räisänen WampServer palvelimen asennus ja käyttö Eclipsen kanssa, sekä ensimmäinen FTP yhteys www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa.
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero
LisätiedotHyvinvointikyselyjen toteuttaminen sähköisesti oppilaitoksissa
Hyvinvointikyselyjen toteuttaminen sähköisesti oppilaitoksissa - Ohjeet ryhmien ja luokkien hyvinvointikyselyjen toteuttamiseen sähköisesti - Toimintamalli kehitetty osana pääkaupunkiseudun LAPE-hanketta
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat
LisätiedotSalasanojen turvallinen tallentaminen KeePass ohjelmalla
Salasanojen turvallinen tallentaminen KeePass ohjelmalla KeePass on vapaasti saatavilla oleva, avoimen lähdekoodin ohjelma, jonka tarkoituksena on auttaa salasanojen hallinnassa. Tämä KeePass ohje on päivitetty
Lisätiedot1 PHP-sovelluksen toiminta
AMVA48-49 HTML ja PHP-ohjelmointi, 2 ov Yleistä kurssista HTMLperusteita PHP-kielen perusrakenteet HTMLlomakkeen käsittely Tiedoston käsittely Evästeiden käyttö Istunnon hallinta Oppimistehtävät PHP-KIELEN
LisätiedotAsko Ikävalko, k0201291 22.2.2004 TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen
Asko Ikävalko, k0201291 22.2.2004 TP02S-D Ohjelmointi (C-kieli) Projektityö Työn valvoja: Olli Hämäläinen Asko Ikävalko LOPPURAPORTTI 1(11) Ratkaisun kuvaus Käytetyt tiedostot Tietuerakenteet Onnistuin
LisätiedotZeon PDF Driver Trial
Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin
LisätiedotKieliversiointityökalu Java-ohjelmistoon. Ohje
Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5
LisätiedotTekstinkäsittelyn jatko Error! Use the Home tab to apply Otsikko 1 to the text that you want to appear here. KSAO Liiketalous 1
KSAO Liiketalous 1 Lomakkeet Lomake on asiakirja, joka sisältää täyttämistä ohjaavia tietoja tai merkintöjä. Wordin lomakekenttä-toiminnolla luodaan näytöllä täytettäviä lomakkeita tai tulostettavia lomakepohjia.
LisätiedotOsaamispassin luominen Google Sites palveluun
n luominen Google Sites palveluun Mikä Osaamispassi on? Osaamispassi auttaa kertomaan taidoistasi, koulutuksestasi, työkokemuksestasi ja sinua kiinnostavista asioista työnantajalle kun haet työtä. Osaamispassi
LisätiedotOsoitin ja viittaus C++:ssa
Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja
LisätiedotCollector for ArcGIS. Ohje /
Collector for ArcGIS Ohje / 10.5.2019 2 (11) Sisältö 1. Collector for ArcGIS... 3 2. Kartan luominen ArcGIS Onlinessa... 3 2.1 Karttatason luominen... 3 2.2 Ominaisuustietotaulun kenttien määrittäminen...
LisätiedotPedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola
Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola 26.8.2016 SISÄLLYSLUETTELO 1. Omat asetukset kuntoon (kaikkien tehtävä aluksi) sivut 3-5 2. Tärkeiden sivujen tilaaminen omiin linkkeihin sivut
LisätiedotOperaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta
C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus
Lisätiedot815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset
815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/
LisätiedotAlkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)
Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,
LisätiedotKatalogin luominen Coupan toimittajaportaalissa
CSP toimittajan luoma katalogi tarkoittaa Coupassa toimittajan tekemää katalogia, joka lähetetään Parmalle Coupan kautta hyväksyttäväksi. Coupan toimittajaportaalin Luettelot -välilehdeltä pääset katalogin
LisätiedotVERKKOKÄYTTÄJÄN OPAS. Tulostuslokin tallennus verkkoon. Versio 0 FIN
VERKKOKÄYTTÄJÄN OPAS Tulostuslokin tallennus verkkoon Versio 0 FIN Oppaassa käytetyt kuvakkeet Tässä käyttöoppaassa käytetään seuraavaa kuvaketta: Vinkki kertoo, miten toimia tietyissä tilanteissa, tai
LisätiedotTekstieditorin käyttö ja kuvien käsittely
Tekstieditorin käyttö ja kuvien käsittely Teksti- ja kuvaeditori Useassa Kotisivukoneen työkalussa on käytössä monipuolinen tekstieditori, johon voidaan tekstin lisäksi liittää myös kuvia, linkkejä ja
LisätiedotKirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta.
Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta. Sisäänkirjauduttuasi näet palvelun etusivulla helppokäyttöisen hallintapaneelin. Vasemmassa reunassa on esillä viimeisimmät tehdyt muutokset
Lisätiedot