Ville Seppänen PHP osa 1 Verkkotekniikan jatkokurssi Kevät 2003 Ville Seppänen

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

Tietokannat: MySQL ja PostgreSQL. Yleistä • Relaatiotietokantaohjelmisto, jolla voidaan luoda, ylläpitää ja muuttaa ja hallinnoida tietokantoja • Avoin.
15. Loogiset operaatiot.
Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
JavaScript oliot © Reiska, DOM Oliot  JavaScript sisältää paljon valmiita DOM olioita, on sisältänyt jo DOM level 0 (ns. Legacy DOM) alkaen  WWW-ympäristössä.
JavaScript (c) Irja & Reino Aarinen, 2007
VBA –ohjelmoinnin perusteet
1 Java-kieleen pohjautuvien ohjelmien käyttökohteita Ohjelmat Appletit JavaBeans JavaScript Java Server Pages (JSP) Java Servletit J2ME, mobiililaitteet.
PHP ja sessionhallinta Verkkotekniikan jatkokurssi Kevät 2003 V. Seppänen
vuorovaikutteiset www-sivut 1.Asiakas-palvelinmalli kuvana Request Response request.asp response.asp.
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Taulukot: Array Taulukko Javassa pitää aina perustaa (new)
Taulukoiden määrittely, käsittely ja kopiointi Vaihtoehdot taulukoille
22. Taulukot.
Näytölle tulostaminen. 7.2 Sisällys System.out.println - ja System.out.print -operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden.
C-ohjelmointi, kevät 2006 Taulukot Binääritiedostot Luento
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ VARTEN.
Ehto- ja toistolauseet
Elinkeinopoliittinen mittaristo 2014
Poikkeustenkäsittely  Mitä poikkeustenkäsittely tarkoittaa?  Poikkeuksen käsitteleminen  Poikkeusluokkien hierarkia  Poikkeuksen heittäminen 1.
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
13. Hyvä ohjelmointitapa (osa 1)
© Jukka Harju, Jukka Juslin
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.
Visual Basic -ohjelmointi
String-vertailusta ja Scannerin käytöstä (1/2)
Metodit – Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin ”return;”-lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua.
Tietotyypit Tietotyyppi määrittää muuttujan sisältämän datan luonnetta, muistista tarvittavaa tilaa ja sitä, millaisia operaatioita siihen voidaan kohdistaa.
20. Javan omat luokat.
PHP funktiot Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö.
Muuttujat ja vakiottMyn1 Muuttujat ja vakiot PHP-kielen syntaksi on lainattu suurimmaksi osaksi C- kielestä. PHP on erityisesti HTML-dokumenttien sisään.
XNA peliohjelmointi. XNA Perustuu Microsoftin kehittämään.NET- arkkitehtuuriin ja C#-kieleen. XNA:lla tehdyt pelit toimivat Windows ja XBOX360-alustoilla.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
HTML-lomakkeettMyn1 HTML-lomakkeet Web-sovelluksen käyttöliittymä rakentuu web-selaimen ominaisuuksista ja keskeisimmiltä osiltaan erityisesti HTML-kielellä.
Lomakkeet © Reiska, Lomakkeet Varsinkin Web-sovelluksia ajetaan täyttämällä sivulla lomake ja lähettämällä tiedot palvelimella olevan Web-sovelluksen.
Hyvä ohjelmointitapa (osa 2) Yleistä Lisää hyviä ohjelmointikäytäntöjä: − Jaa pitkä koodi osiin. − Käytä attribuutteja säästeliäästi.
XHTML-perusteita Teppo Räisänen
Ohjelman keskeytys virhetilanteessa tMyn1 Ohjelman keskeytys virhetilanteessa Poikkeustilanteet voidaan ryhmitellä logiikkavirheisiin ja muihin ajonaikaisiin.
22. Taulukot.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
© Jukka Juslin1 Osio2 Olio-ohjelmointi: Merkkijonot eli Stringit Jukka Juslin.
Aakkosnumeerinen tieto Tarkoittaa kaikkea muuta tietoa paitsi laskentaan tarkoitettuja lukuja Muuttujan tietosisältö on siis tekstitietoa Muuttujan tietotyypiksi.
FunktiottMyn1 Funktiot Funktiot voidaan jakaa –Kirjastofunktioihin, jotka ovat valmiina kaikkien käytössä. Erikoisempien kirjastofunktioiden käyttöönotto.
Visual Basic -ohjelmointi
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Kontrollirakenteet laajemmin
Visual Basic -ohjelmointi
Java - Tietokanta. JDBC=Java database connectivity  ODBC:n kaltainen ohjelmointiliittymä SQL- tietokantoihin  Koostuu Java-kehitysympäristön (esim.
Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia.
Ydinpalveluiden (käyttäjä, käyttöoikeus, potilas).NET-palvelutoteutus: CoreServiceDemo PlugIT-loppuseminaari Koulutustyöpaja 1: Avoimet ohjelmistorajapinnat.
Visual Basic -ohjelmointi
XSL Teppo Räisänen
Ohjausrakenteet Määräävät ohjelmakoodin suoritusjärjestyksen Ehtolause if – else on muotoa if (lauseke) lause1 else lause2 Jos lauseke on tosi, niin suoritetaan.
PHP Muuttujien määrittely, sijoituslause ja aritmeettiset operaattorit Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö.
String-vertailusta ja Scannerin käytöstä (1/2)
Ohjelman keskeytys virhetilanteessa
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
Aakkosnumeerinen tieto
Aakkosnumeerinen tieto
11. Javan valintarakenteet
JavaScriptin perusteet
Istuntojen hallinta PHP-sovelluksessa
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Kontrollirakenteet laajemmin
13. Loogiset operaatiot.
3. Attribuutit.
Esityksen transkriptio:

Ville Seppänen PHP osa 1 Verkkotekniikan jatkokurssi Kevät 2003 Ville Seppänen

2 Sisältö 1.Yleistä 2.Skriptien kirjoittaminen 3.Muuttujista 4.Operaattoreista 5.Funktioiden määrittely ja käyttäminen 6.include ja require 7.Kontrollirakenteista 8.Taulukoista

Ville Seppänen PHP:n käyttötilasto helmikuu 03

Ville Seppänen Yleistä (1) Alkoi 1994 yhden miehen, Rasmus Lerdorfin, projektina Personal Home Page Alkoi 1994 yhden miehen, Rasmus Lerdorfin, projektina Personal Home Page Nykyisin useita kehittäjiä, vapaa Open Source projekti, nimi muuttunut muotoon PHP Hypertext Preprocessor Nykyisin useita kehittäjiä, vapaa Open Source projekti, nimi muuttunut muotoon PHP Hypertext Preprocessor Viimeisin versio ( Viimeisin versio ( Kehityksessä oleva versio 5 tulee muuttamaan PHP:n enemmän oliokielen suuntaan Kehityksessä oleva versio 5 tulee muuttamaan PHP:n enemmän oliokielen suuntaan

Ville Seppänen Yleistä (2) ‘Serverside HTML-embedded scripting language’ ‘Serverside HTML-embedded scripting language’ PHP-skripti kirjoitetaan tavallisesti HTML-koodin sekaan PHP-skripti kirjoitetaan tavallisesti HTML-koodin sekaan Asiakkaan pyytäessä skriptiä sisältävää dokumenttia palvelimelta, palvelin suorittaa dokumenttiin upotetun koodin Asiakkaan pyytäessä skriptiä sisältävää dokumenttia palvelimelta, palvelin suorittaa dokumenttiin upotetun koodin ja (tavallisesti) palauttaa vastauksena staattisen HTML- dokumentin ja (tavallisesti) palauttaa vastauksena staattisen HTML- dokumentin HTTP ja HTML asettavat tiettyjä rajoituksia HTTP ja HTML asettavat tiettyjä rajoituksia Suunniteltu web-käytöön Suunniteltu web-käytöön Paljon valmiita funktioita yleisiin käyttötarkoituksiin; esim. grafiikan ja PDF-dokumenttien generointi, sähköpostin lähettäminen, cookieiden käsittely, yhteydet muihin verkkopalveluihin ja erilaisiin tietokantoihin jne. Paljon valmiita funktioita yleisiin käyttötarkoituksiin; esim. grafiikan ja PDF-dokumenttien generointi, sähköpostin lähettäminen, cookieiden käsittely, yhteydet muihin verkkopalveluihin ja erilaisiin tietokantoihin jne.

Ville Seppänen Yleistä (3) Syntaksi perustuu muihin ohjelmointikieliin, pääasiassa C:hen ja Perliin. Piirteitä myös C++:sta ja Javasta. Mahdollista kirjoittaa oliotyyliin. Syntaksi perustuu muihin ohjelmointikieliin, pääasiassa C:hen ja Perliin. Piirteitä myös C++:sta ja Javasta. Mahdollista kirjoittaa oliotyyliin. Siirrettävää: koodi toimii ilman muutoksia tai pienin muutoksin (hakemistoviittaukset jne.) erilaisilla alustoilla (vapaat ja kaupalliset Unixit, Windowsit jne.) sekä lukuisissa WWW-palvelimissa laajennusmodulien avulla, esim. Apache ja MS IIS Siirrettävää: koodi toimii ilman muutoksia tai pienin muutoksin (hakemistoviittaukset jne.) erilaisilla alustoilla (vapaat ja kaupalliset Unixit, Windowsit jne.) sekä lukuisissa WWW-palvelimissa laajennusmodulien avulla, esim. Apache ja MS IIS

Ville Seppänen Yleistä (4) Verrattaessa ‘kilpailijoihinsa’ (esim. Perl, ASP, JSP, Cold Fusion) PHP:n vahvuuksia ovat: Verrattaessa ‘kilpailijoihinsa’ (esim. Perl, ASP, JSP, Cold Fusion) PHP:n vahvuuksia ovat: Suorituskyky Suorituskyky Liittymä useille tietokannoille Liittymä useille tietokannoille Sisäänrakennetut kirjastot yleisille web-sovelluksiin liittyville tehtäville Sisäänrakennetut kirjastot yleisille web-sovelluksiin liittyville tehtäville Edullinen (  ilmainen) Edullinen (  ilmainen) Helppo oppia ja käyttää Helppo oppia ja käyttää Siirrettävyys Siirrettävyys Lähdekoodin saatavuus (Welling & Thomson, 2001) Lähdekoodin saatavuus (Welling & Thomson, 2001) Koodin pituus PHP:lla toteutettuna on tyypillisesti vain murto-osan esim. vastaavasta Perl-koodista Koodin pituus PHP:lla toteutettuna on tyypillisesti vain murto-osan esim. vastaavasta Perl-koodista

Ville Seppänen Skriptin kirjoittaminen (1) Palvelin tunnistaa PHP-skriptiä sisältävät tiedostot tiedostonimen päätteen perusteella, yleensä.php,.php3,.php4 tai.phtml (hyväksytyt päätteet riippuvat palvelimen asetuksista) Palvelin tunnistaa PHP-skriptiä sisältävät tiedostot tiedostonimen päätteen perusteella, yleensä.php,.php3,.php4 tai.phtml (hyväksytyt päätteet riippuvat palvelimen asetuksista) PHP-skriptit kirjoitetaan tai merkkiparien sisälle (suosi jälkimmäistä muotoa) PHP-skriptit kirjoitetaan tai merkkiparien sisälle (suosi jälkimmäistä muotoa)

Ville Seppänen Skriptin kirjoittaminen (2) <html><head><title>Päiväys<title></head><body><p> <?php // PHP-koodi alkaa echo “Tänään on: “; echo time(“d-m-Y”); ?> // PHP-koodi loppuu </p></body></html>

Ville Seppänen Skriptin kirjoittaminen (3) <?php $myString = ‘Hello, world!’; ?> <?php echo $myString; ?> <?php $myString = ‘Hello, world!’; echo “ $myString ”; ?> <?php $myString = ‘Hello, world!’; echo “ ”.$myString.” ”; ?> <?php echo “ Iso otsikko ”; echo “ Toinen iso otsikko ”; ?> ”>

Ville Seppänen Skriptien kirjoittaminen (4) PHP-sovellus voidaan kirjoittaa kokonaisuudessaan yhteen tiedostoon tai se voidaan pilkkoa loogisesti erillisiin skripteihin PHP-sovellus voidaan kirjoittaa kokonaisuudessaan yhteen tiedostoon tai se voidaan pilkkoa loogisesti erillisiin skripteihin if($page==‘kirjoita’) { /* kirjoittamiseen liittyviä juttuja */ } else if($page==‘lue’) { /*lukemiseen liittyviä juttuja */ } else { /*jotain muuta */ } index.php lue.phpkirjoita.php

Ville Seppänen Muuttujista (1) PHP:ssa muuttujia ei tarvitse julistaa. Muuttuja luodaan, kun sille asetetaan arvo, ja muuttujan tyyppi määräytyy automaattisesti arvon tyypin mukaan PHP:ssa muuttujia ei tarvitse julistaa. Muuttuja luodaan, kun sille asetetaan arvo, ja muuttujan tyyppi määräytyy automaattisesti arvon tyypin mukaan $myInterger = 1; $myString = “Hello, world!”; $myArray = array(“Hello”, “world!”); echo gettype($myInteger); // integer echo gettype($myString); // string echo gettype($myArray); // string

Ville Seppänen Muuttujista (3) Muuttujien arvoja voidaan välittää skripteille GET tai POST-kutsujen mukana Muuttujien arvoja voidaan välittää skripteille GET tai POST-kutsujen mukana Muuttujien siirtäminen URLissa (GET-metodi) Muuttujien siirtäminen URLissa (GET-metodi) muuttuja arvo POST lähettää datan HTTP-kutsun mukana, mutta sitä ei siirretä osana URLia  Ei GETin fyysistä pituusrajoitusta ja mahdollistaa multipart/form-data enkoodauksen. POST lähettää datan HTTP-kutsun mukana, mutta sitä ei siirretä osana URLia  Ei GETin fyysistä pituusrajoitusta ja mahdollistaa multipart/form-data enkoodauksen.

Ville Seppänen Muuttujista (2) PHP:n tietotyypit PHP:n tietotyypit Boolean (PHP4), kaksiarvoinen Boolean (PHP4), kaksiarvoinen Integer, kokonaisluku Integer, kokonaisluku Float, liukuluku Float, liukuluku String, merkkijono String, merkkijono Array, taulukko Array, taulukko Object Object Luokan ilmentymä oliokoodissa Luokan ilmentymä oliokoodissa Resource (PHP4) Resource (PHP4) Sisältää viittauksen ulkoiseen resurssiin. Resurssit luodaan ja niitä käsitellään määrätyillä funktioilla (esim. tietokantakyselyn suorittava funktio ja sen palauttama resurssimuuttuja) Sisältää viittauksen ulkoiseen resurssiin. Resurssit luodaan ja niitä käsitellään määrätyillä funktioilla (esim. tietokantakyselyn suorittava funktio ja sen palauttama resurssimuuttuja)

Ville Seppänen Vertailu- ja loogiset operaattorit PHP:n vertailuoperaattorit: PHP:n vertailuoperaattorit: == equals (sama arvo) == equals (sama arvo) === identical (sama arvo ja sama tietotyyppi) === identical (sama arvo ja sama tietotyyppi) != not equal != not equal <> not equal <> not equal < less than < less than > greater than > greater than <= less than or equal to <= less than or equal to >= greater than or equal to >= greater than or equal to PHP:n loogiset operaattorit: PHP:n loogiset operaattorit: ! NOT ! NOT && AND && AND | | OR | | OR

Ville Seppänen Muita operaattoreita Ternary operaattori Ternary operaattori Yleinen muoto: condition ? value if true : value if false Esim: $answer = ($color == “red” ? “Color is red” : “Color is not red”); Error suppression operaattori Error suppression operaattori $a Execution operaattori Execution operaattori $out = ‘ls -la’; echo “ ”.$out.” ”;

Ville Seppänen Funktiot (1) Funktioiden nimeäminen ja määrittely Funktioiden nimeäminen ja määrittely Nimissä sallitaan kirjain- ja numeromerkit, sekä alaviiva Nimissä sallitaan kirjain- ja numeromerkit, sekä alaviiva Nimi ei saa alkaa numerolla Nimi ei saa alkaa numerolla Nimi ei saa olla varattu sana Nimi ei saa olla varattu sana Nimi ei saa olla valmiin funktion nimi Nimi ei saa olla valmiin funktion nimi // funktion määrittely function omaFunktio() { echo “Moro!”; } // funktion kutsu omaFunktio();

Ville Seppänen Funktiot (2) Esimerkkejä funktion kutsumisesta: Esimerkkejä funktion kutsumisesta: omaFunktio(); // kutsutaan ilman parametreja omaFunktio(“iso”); // string-parametrilla omaFunktio(15.23); // float-parametrilla omaFunktio($muuttuja); // muuttujaparametrilla omaFunktio($muuttuja, “iso”); // muuuttuja- ja string-param. // funktio vaatii parametrin: function omaFunktio($koko) { echo “Koko on $koko.”; } omaFunktio(“iso”); // tulostaa: Koko on iso.

Ville Seppänen Funktiot (3) function omaFunktio($muoto, $koko = “iso”) { echo “Muoto on $muoto ja koko on $koko.”; } omaFunktio(); // warning: missing argument omaFunktio(“soikea”); // Muoto on soikea ja koko on iso. omaFunktio(“soikea”, “pieni”); // Muoto on soikea ja koko on pieni. Parametreille voidaan antaa arvo funktion määrittelyssä. Tällöin niille ei funktiota kutsuttaessa vaadita arvoa. Parametreille voidaan antaa arvo funktion määrittelyssä. Tällöin niille ei funktiota kutsuttaessa vaadita arvoa. pakollinenoptionaalinen

Ville Seppänen Funktiot (4) Muuttujien vaikutusalue (scope) Muuttujien vaikutusalue (scope) Funktion sisällä määritellyt muuttujat ovat voimassa vain ko. funktion sisällä (local variables) Funktion sisällä määritellyt muuttujat ovat voimassa vain ko. funktion sisällä (local variables) Funktion ulkopuolella määritellyt muuttujat eivät ole voimassa funktioiden sisällä (global variables) Funktion ulkopuolella määritellyt muuttujat eivät ole voimassa funktioiden sisällä (global variables) Avainsana global pakottaa muuttujan globaaliksi, vaikka se määriteltäisiin funktion sisällä Avainsana global pakottaa muuttujan globaaliksi, vaikka se määriteltäisiin funktion sisällä include() ja require() eivät vaikuta muuttujan vaikutusalueeseen include() ja require() eivät vaikuta muuttujan vaikutusalueeseen

Ville Seppänen Funktiot (5), esim. vaikutusalueista function omaFunktio() { $muuttuja = “foo”; } echo $muuttuja; // ei tulostetta function omaFunktio() { echo “Funktion sisällä, \$muuttuja = “.$muuttuja.” ”; $muuttuja = “bar”; echo “Funktion sisällä, \$muuttuja = “.$muuttuja.” ”; } $muuttuja = “foo”; omaFunktio(); Echo “Funktion ulkopuolella, \$muuttuja = “.$muuttuja.” ”; Tuloste: Funktion sisällä, $muuttuja = Funktion sisällä, $muuttuja = bar Funktion ulkopuolella, $muuttuja = foo

Ville Seppänen Funktiot (6) Esimerkki globalin käytöstä: Esimerkki globalin käytöstä: function omaFunktio() { global $muuttuja; $muuttuja = “foo”; echo “Funktion sisällä, \$muuttuja = “.$muuttuja.” ”; }omaFunktio(); echo “Funktion ulkopuolella, \$muuttuja = “.$muuttuja.” ”; Tuloste: Funktion sisällä, $muuttuja = foo Funktion ulkopuolella, $muuttuja = foo

Ville Seppänen Funktiot (7) Muuttuja voidaan välittää funktiolle käyttämällä sen arvoa (pass by value) tai viittausta alkuperäiseen muuttujaan (pass by reference) Muuttuja voidaan välittää funktiolle käyttämällä sen arvoa (pass by value) tai viittausta alkuperäiseen muuttujaan (pass by reference) Pass by value:ta käytettäessä muuttujan globaali arvo ei muutu: Pass by value:ta käytettäessä muuttujan globaali arvo ei muutu: function kertaa10($luku) { $luku = ($luku * 10); } $luku = 10; kertaa10($luku); echo $luku; // tulostaa 10 Pass by referencen käyttö määritellään kirjoittamalla parametrin eteen &-merkki: Pass by referencen käyttö määritellään kirjoittamalla parametrin eteen &-merkki: function kertaa10(&$luku) { $luku = ($luku * 10); } $luku = 10; kertaa10($luku); echo $luku; // tuloste 100

Ville Seppänen Funktiot (8) Arvojen palauttaminen Arvojen palauttaminen Avainsana return lopettaa funktion suorittamisen ja ohjelman suorittamista jatketaan funktion kutsua seuraavasta lauseesta Avainsana return lopettaa funktion suorittamisen ja ohjelman suorittamista jatketaan funktion kutsua seuraavasta lauseesta return ia voidaan käyttää myös arvojen palauttamiseen funktiosta. return ia voidaan käyttää myös arvojen palauttamiseen funktiosta. function random($min = 1, $max = 100) { $random = rand($min, $max); return($random);} $satunnainen = random(); $iso_satunnainen = random(1000, 10000); Ehdollinen arvon palauttaminen: Ehdollinen arvon palauttaminen: function taustaVari($rivinumero) { if(($rivinumero % 2) == 0) return(“silver”);elsereturn(“gray”);}

Ville Seppänen include ja require (1) include n käyttö helpottaa koodin hallintaa, jäsentämistä ja vähentää redundanssia include n käyttö helpottaa koodin hallintaa, jäsentämistä ja vähentää redundanssia Usein tarvittavat koodinpätkät (esim. tietokantayhteyden muodostaminen) Usein tarvittavat koodinpätkät (esim. tietokantayhteyden muodostaminen) Kirjastot Kirjastot Teksti ja HTML-koodi (esim. heading, footer, layout, …) Teksti ja HTML-koodi (esim. heading, footer, layout, …) require toimii include n tavoin, mutta liitettävän tiedoston puuttuminen keskeyttää koodin suorituksen, kun taas include ainoastaan tulostaa varoituksen require toimii include n tavoin, mutta liitettävän tiedoston puuttuminen keskeyttää koodin suorituksen, kun taas include ainoastaan tulostaa varoituksen

Ville Seppänen include ja require (2) require_once toimii require n tavoin, mutta liittäminen tehdään ainoastaan mikäli sitä ei ole aiemmin tehty. require_once toimii require n tavoin, mutta liittäminen tehdään ainoastaan mikäli sitä ei ole aiemmin tehty. <?php // avaataan tietokantayhteys - db.inc $db = mysql_connect(“localhost”, “sqluser”, “sqlpassword”); if(!$db) echo “Cannot connect to database”; else mysql_select_db(“mydb”); ?> <?php include(“./includes/db.inc”); ?>

Ville Seppänen include ja require (3) Jos liitettävä tiedosto sisältää PHP-koodia, koodi tulee kirjoittaa PHP-tagien sisälle. Muutoin koodia ei suoritetaan vaan se liitetään mukaan tekstinä. Jos liitettävä tiedosto sisältää PHP-koodia, koodi tulee kirjoittaa PHP-tagien sisälle. Muutoin koodia ei suoritetaan vaan se liitetään mukaan tekstinä. Liitettäviä tiedostoja nimettäessä tulee käyttää ainoastaan loppupäätteitä, jotka WWW-palvelin käsittelee PHP-skripteinä. Muutoin tiedoston sisältö esitetään selaimessa tekstinä. Liitettäviä tiedostoja nimettäessä tulee käyttää ainoastaan loppupäätteitä, jotka WWW-palvelin käsittelee PHP-skripteinä. Muutoin tiedoston sisältö esitetään selaimessa tekstinä.

Ville Seppänen Kontrollirakenteista (1) if, else if ja else if, else if ja else Jos if -ehto on tosi, sitä seuraava koodi(blokki) suoritetaan Jos if -ehto on tosi, sitä seuraava koodi(blokki) suoritetaan Muussa tapauksessa, jos else if -ehto on tosi, sitä seuraava koodi(blokki) suoritetaan Muussa tapauksessa, jos else if -ehto on tosi, sitä seuraava koodi(blokki) suoritetaan Muussa tapauksessa, else :ä seuraava koodi(blokki) suoritetaan Muussa tapauksessa, else :ä seuraava koodi(blokki) suoritetaan if($i == 10) { echo “\$i on 10”; } else if($i == 5) { echo “\$i on 5”; } else { echo “\i$ on jotain muuta kuin 5 tai 10”; }

Ville Seppänen Kontrollirakenteista (2) Ehtovertailuesimerkkejä: Ehtovertailuesimerkkejä: if($i 20) // OR if($a == TRUE && $b == FALSE) // AND if(!$login) // NOT if(!isset($login)) // NOT switch ja case : switch ja case : switch($i){ case “10” : echo “\$i on 10”; break; case “5” : echo “\$i on 5”; break;}

Ville Seppänen Kontrollirakenteista (3) while ja do while while ja do while while ($i <= 10) { echo “$i ”; $i++;} /* */ $i = 11; do{ echo “$i ”; $i+ } while ($i <= 10); do while -rakenteessa ehto tarkistetaan lopussa, joten silmukka suoritetaan aina vähintään kerran do while -rakenteessa ehto tarkistetaan lopussa, joten silmukka suoritetaan aina vähintään kerran

Ville Seppänen Kontrollirakenteista (4) for for // testataan ehtoa $i <= 10. Kun epätosi, suorittaminen loppuu for($i = 1; $i <= 10; $i++) { echo “$i ”; } Kontrollirakenteiden suorittaminen voidaan lopettaa milloin vain exit :llä Kontrollirakenteiden suorittaminen voidaan lopettaa milloin vain exit :llä Lisää: Lisää:

Ville Seppänen Taulukot [array] (1) Yksi tai useampi ulotteinen joukko tunniste (index tai key) – arvo (value) -pareja Yksi tai useampi ulotteinen joukko tunniste (index tai key) – arvo (value) -pareja Tunniste voi olla joko kokonaisluku tai merkkijono Tunniste voi olla joko kokonaisluku tai merkkijono Arvo voi olla mikä tahansa, myös toinen array (moniuloitteiset taulukot) Arvo voi olla mikä tahansa, myös toinen array (moniuloitteiset taulukot) Demojen puitteissa taulukoihin törmätään ainakin lomakkeita ja tietokantakyselyn tuloksia käsiteltäessä Demojen puitteissa taulukoihin törmätään ainakin lomakkeita ja tietokantakyselyn tuloksia käsiteltäessä

Ville Seppänen Taulukot (2) Nimi: Viesti: Array( [nimi] => Santa Claus [ ] => [viesti] => Hyvää joulua! [submit] => Lähetä ) print_r($_GET); // kasittelija.php Tuloste: $_GET-muuttujan (array) sisältö Viittaaminen yksittäiseen elementtiin: $_GET[nimi];

Ville Seppänen Taulukot (3) Taulukon muodostaminen: Taulukon muodostaminen: $myArray = array(“Santa”, “Ho ho ho!”); // tunnisteet asetetaan automaattisesti kokonaislukuina nollasta alkaen $myArray = array(nimi => “Santa”, viesti => “Ho ho ho!”); // tunnisteet $myArray[nimi] ja $myArray[viesti] Suoraan arvot asettamalla: Suoraan arvot asettamalla: $myArray[0] = “Santa”; $myArray[1] = “Ho ho ho!”; $myArray[nimi] = “Santa”; $myArray[viesti] = “Ho ho ho!”;

Ville Seppänen Taulukot (4) Taulukoiden käsitteleminen Taulukoiden käsitteleminen Numeeriset tunnisteet mahdollistavat taulukon käsittelemisen esim. for -silmukassa Numeeriset tunnisteet mahdollistavat taulukon käsittelemisen esim. for -silmukassa for($i = 0; $i ”; list ja each list ja each while (list($tunniste, $arvo) = each($myArray)) echo “$tunniste - $arvo ”; foreach foreach foreach($myArray as $tunniste => $arvo) echo “$tunniste - $arvo ”; Lue lisää: Lue lisää: