PHP:n alkeita ja taustaa. Markus Norrena

Samankaltaiset tiedostot
Unix. Markus Norrena

VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN

OPPITUNTI 3 Ensimmäinen skripti

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle

5. HelloWorld-ohjelma 5.1

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

4. Lausekielinen ohjelmointi 4.1

MITÄ JAVASCRIPT ON?...3

Johdatus Ohjelmointiin

Harjoitus 5 (viikko 41)

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Ohjelmoinnin perusteet Y Python

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5

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

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

5. HelloWorld-ohjelma 5.1

Korpusten käsittely clt131, P Luento 5

Ohjelmoinnin peruskurssi Y1

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Luento 4. Timo Savola. 21. huhtikuuta 2006

Rasterikarttojen ja liiteaineistojen päivitysohje SpatialWeb5 Karttapaikka

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

Ohjelmoinnin peruskurssi Y1

Turnitin-ohjelma käyttö opettajana Turnitin.comissa

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

Hieman linkkejä: lyhyt ohje komentoriviohjelmointiin.

Bitnami WordPress - Asenna WordPress koneellesi. Jari Sarja

Java-kielen perusteet

Harjoitus 2 (viikko 45)

Java-kielen perusteet

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet, syksy 2006

Hyvän salasanan tunnusmerkit Hyökkääjästä salasanan pitää näyttää satunnaiselta merkkijonolta. Hyvän salasanan luominen: Luo mahdollisimman pitkä

Verkkosivut perinteisesti. Tanja Välisalo

SeaMonkey pikaopas - 1

JAKELUPISTE KÄYTTÖOHJE 2/6

Palvelinpuolen ohjelmointi

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Ohjelmoinnin perusteet Y Python

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

Kieliteknologian ATK-ympäristö Toinen luento

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Harjoitus 6 (viikko 42)

1 PHP-sovelluksen toiminta

Java-kielen perusteita

Paavo Räisänen. WampServer palvelimen asennus ja käyttö Eclipsen kanssa, sekä ensimmäinen FTP yhteys.

1 Asentaminen. 2 Yleistä ja simuloinnin aloitus 12/

Korpusten käsittely clt131, P Luento 6

HTML5 -elementit jatkuu

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.

Webpalvelin muistitikulle - Ohje

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

4. Lausekielinen ohjelmointi 4.1

T&M Autori Versio Series 60 -puhelimiin

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne

Ohjelmoinnin perusteet Y Python

TIETOKONEEN ÄÄRELLÄ. Kansalaisopistot kotouttamisen tukena hanke/opetushallitus Kuopion kansalaisopisto

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

Office ohjelmiston asennusohje

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Written by Administrator Saturday, 28 August :51 - Last Updated Tuesday, 22 February :45

Vaihdoitko puhelinta? Yhteystietojen siirto Lumian, iphonen ja Androidin välillä käy näin

Metropolia Ammattikorkeakoulu

Harjoitus 5 (viikko 48)

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Tiedostojen siirto ja FTP - 1

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

Ohjelmoinnin perusteet Y Python

FrontPage Näkymät

Ohjelmoinnin perusteet Y Python

ohjeita kirjautumiseen ja käyttöön

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Ohjelmoinnin jatkokurssi, kurssikoe

LINUX-HARJOITUS, MYSQL

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

2 Konekieli, aliohjelmat, keskeytykset

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Harjoitus 6 (viikko 42)

Korpusten käsittely clt131, P Luento 4

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Luento 5. Timo Savola. 28. huhtikuuta 2006

PHP tehtävä 3 Atte Pekarinen TIKT13A

Yksityiskohtaiset ohjeet. TwinSpacen käyttäminen

[Jnix näyttökoe. o ei ole sallittua käyttää mitään verkkolevyjakoa tai mitään siihen rinnastettavaa järjestelmdä.

HTML perusteita (ei julkiseen jakeluun)

Yhdistäminen. Tietolähteen luominen. Word-taulukko. Joukkokirje, osoitetarrat Työvälineohjelmistot 1(5)

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

1 www-sivujen teko opetuksessa

Transkriptio:

PHP:n alkeita ja taustaa Markus Norrena

PHP on ohjelmointikieli joka toimii yhteistyössä html:n kanssa PHP suoritetaan palvelimella Toisin kuin esim. JavaScript joka suoritetaan selaimessa Tästä syystä käyttäjä ei näe PHP-koodiasi, se jää palvelimelle

PHP:n etuja on myös että se on ilmainen avoimen lähdekoodin (open-source) kieli Tästä syystä on myös olemassa runsaasti oppaita ja tietoja php:stä verkossa. Nämä tekevät itseoppimisen helpommaksi.

PHP-tulkilla voimme testata ohjelmamme Asentuu web-palvelimille oletuksena Voit myös asentaa PHP:n omalle koneellesi Wamp http://www.wampserver.com/ Mamp http://www.mamp.info Xampp http://www.apachefriends.org/en/ xampp.html

PHP:tä käytetään lisäämällä PHP-koodia HTML -koodin sekaan, esim: <html> <body> <h1> PHP sanoo: </h1> <?php print ("tässä php:n tulostuskäsky!");?> <br> Se siitä sitten...<br> </body> </html> PHP-koodi tulkitaan siinä järjestyksessä kuin se tulee vastaan, tiedoston alusta loppua kohti.

Palvelin jolta www-sivut ladataan suorittaa PHP-koodin. Surffaajan selain ei näe PHP-koodia vaan pelkästään suoritetun koodin tulos Palvelin jolta sivu ladataan tulkitsee php-koodin HTML:ksi Www-selain tulkitsee ja suorittaa saamansa HTMLkoodin Näin käyttäjä ei tarvitse lisäosia nähdäkseen phpsivun PHP-ohjelmointia kutsutaan palvelinohjelmoinniksi, JavaScriptohjelmointia kutsutaan selainohjelmoinniksi.

Keskeisin lähde kaikelle php-asialle on PHP.net: http://www.php.net/ Manuaali joka sisältää oppaita, neuvoja ja tietoa PHP:stä. Saattaa aluksi olla sekava aloittelevalle ohjelmoijalle, mutta kyllä se siitä aukeaa.

Minkälaisia asioita PHP:llä voi tehdä? käsitellä www-lomakkeen tietoja eri tavoin (tallentaa tietokantaan, luoda eri sivuja riippuen lomakkeen tiedoista, lähettää sähköpostia, ) autentikoida (todentaa) käyttäjä ja seurata käyttäjiä keskustelupalstoja tarjota eri sivuja riippuen www-selaimesta ja muista laitteista kuvamanipulaatiota Mitä tahansa!!(???) Muutama esimerkki php:llä tehdyistä sivuista: Taloussanomat http://www.taloussanomat.fi, Lukkari lukkarit.metropolia.fi, Php.net www.php.net

<?php ja?> merkit aloittavat ja lopettavat PHP skriptin. Koodikäskyt menevät näiden väliin. PHP-koodia sisältävän tiedoston nimen on loputtava päätteeseen.php PHP-koodi kirjoitetaan HTML-koodin sekaan. Kokeilkaa:

<!DOCTYPE html> <html> <head> <title> PHP ja Maailma -Esimerkki </title> </head> <body> <p> PHP käskee sivua sanomaan: <br><br> <?php?> </p> print ("Hei maailma!"); </body> </html> Tiedoston nimi on maailma.php ja html-koodi tulkitaan html:nä, mutta kaikki <?php ja?> sulkujen välissä suoritetaan php-koodina.

Jos saatte virheilmoituksia, ilmoitus antaa rivinumeron joka aiheutti virheen (ja tiedoston nimen jossa virhe tapahtui) Kun toimii: 1. Katsokaa miltä koodi näyttää selaimen silmissä, valitkaa "View Source" -selaimesta. 2. Muuttakaa "Hei maailma!" teksti <h1> otsikoksi 3. Lisätkää & kokeilkaa vielä nämä: phpinfo(); Käskyllä voi esim. tarkistaa onko PHP & MySQl asennettu palvelimelle print $_SERVER['PHP_SELF'];

PHP:n perussäännöt ja kielioppi PHP-koodia sisältävän tiedoston nimen on loputtava päätteeseen.php Tiedostot tallennetaan puhtaana tekstinä, kuten html-tiedostotkin, ja toisin kuin esim word- tai flashtiedostot

Kommentit: on hyvä tapa jättää kommentteja koodin sekaan. Tämä helpottaa koodin lukemista ja ymmärtämistä myöhemmin. Kommentit ovat tekstipätkiä joita ei suoriteta, sinne voi kirjoittaa mitä vain. PHP:ssä kommentit aloitetaan joko merkeillä // jokaisen rivin alussa tai pidempi kappale kommenttia suljetaan /* ja */ väliin. Myös # rivin alussa toimii komenttina (mutta käytetään harvemmin)

Esim: <?php // Tästä ei välitetä. Muistio itselleni: // Tulosta näytölle mottoni jotta muistan sen. print ("Puuro vahvistaa!"); /* Tähänkin voin kirjoittaa mitä vain, paras olisi kirjoittaa koodiin liittyvää, kuten: Olisiko parempi tulostaa että "muista olla kiltti tänään!"? */?>

Php-koodi alkaa merkeillä <?php (joskus palvelin ymmärtää myös lyhennetyn <?) Koodi loppuu?> Muutamaa poikkeusta lukuun ottamatta kaikki käskyt välissä päättyvät puolipisteeseen Tyypillinen kutsuttu funktio ottaa syötteensä suluissa. Esim käsky: print ( ); jossa print on funktio ja sen työstämä teksti tulee sulkujen väliin.

Jostain syystä print -funktiosta on tehty poikkeus, joka toimii myös ilman sulkuja. Lisäksi printillä on synonyymi, echo(), joka tekee ihan saman asian. Välilyönneillä ja rivinvaihdoilla ei ole merkitystä. Nämä kaksi esimerkkiä tekevät saman asian ensimmäinen: <?php print "Puuro vahvistaa!";?> toinen: <?php echo "Puuro vahvistaa!";?>

Välilyöntejä ja rivinvaihtoja kannattaa käyttää (kuten kommenttejakin) lisätäkseen koodin ymmärrettävyyttä meille ihmisille. Tietokoneille se on yksi lysti.

PHP ja muuttujat Vaihtoehtoinen lähde: http://www.ohjelmointiputka.net/oppaat/opas.php? tunnus=php_02 Muuttuja on säilö jollekin arvolle (numerolle tai tekstille) Muuttuja on myös se tapa jolla PHP siirtää tietoa eri dokumenteille ja funktioille Dynaamisten verkkosivujen idea perustuu siihen, että tietoa siirretään eri sivujen (tai sivun osien) välillä

Muuttujilla voi tehdä kolme asiaa: Ne voi määrittää (eli niille voi antaa arvon) Ne voi määritellä uudestaan (antaa uusi arvo jos niillä oli jo arvo ennestään) Niitä voi lukea (eli hakea se sinne varastoitu arvo ja kenties käyttää sitä jotenkin) Muuttujat PHP:ssä alkavat dollarimerkillä ($)

<?php Alla esimerkki jossa määrittelen muuttujan, käytän sitä, määrittelen uudestaan ja käytän sitä uudestaan: $lausahdus = "rakastan sinua!"; echo "Ollessani iloinen haluan sanoa $lausahdus <br><br>"; $lausahdus = "saat piiskaa!"; echo "Ollessani vihainen haluan sanoa $lausahdus";?> Kokeilkaa yllä olevaa esimerkkiä koodissanne!

Kokeilkaa lisää Määritelkää kaksi muuttujaa ja antakaa niille numeeriset arvot $luku1 = 12; Tulostakaa näytölle näiden kahden muuttujan arvot yhteenlaskettuna $luku1 + $luku2;

Muuttujan arvoa voi muuttaa milloin tahansa koodissa Edelliset esimerkkejä siitä miten muuttuja voi toimia säilönä Muuttujien voima on kuitenkin että arvoa ei tarvitse määritellä etukäteen, vaan sen voi lukea esimerkiksi tietokannasta (MySql) tai wwwsivun lomakkeesta (jonka käyttäjä on täyttänyt)

Muuttuja määritellään: Määrittele arvo = merkillä ($lausahdus = "rakastan sinua!";) Käytä lainausmerkkejä jos antamasi arvo on kirjain-merkkejä (numeerinen arvo ei tarvitse lainausmerkkejä, $vuosia = 20;) Jokainen käsky loppuu puolipisteeseen Muuttuja kutsutaan viittaamalla siihen sen nimellä $lausahdus

Muuttujan nimen tulee: alkaa kirjaimella rakentua kirjaimista, numeroista, ja alaviivoista (esimerkiksi: $kaikkien_nimet2) olla vapaa, eli sana ei ole varattu muuhun käyttöön (kuten esim. print on) Muuttujan nimi saa sisältää skandeja (åäö) Muuttujan varsinainen nimi ei voi alkaa numerolla eikä erikoismerkillä paitsi _ alaviiva käy

PHP erottaa nimessä isot ja pienet kirjaimet! ($rahoitus <> $Rahoitus) Muuttujia nimetessä kannattaa myös yrittää nimetä ne järkevästi, eli käyttöön liittyen, jotta koodi olisi ymmärrettävissä vuodenkin päästä $aaaa ei ole kuvaava muuttujan nimi

Muuttujan tekstiarvoa kutsutaan merkkijono -arvoksi (string) $nimi = "Matti"; Muuttujat voivat myös sisältää mm. numeroita, taulukoita, totuusarvoja, olioita

Tulostettaessa voidaan käyttää joko lainaus- (") tai heittomerkkejä('). Näillä on kuitenkin eroa! "lainausmerkkien" sisällössä huomioidaan muuttajat ja erikoismerkit. 'heittomerkkien' sisältö käsitellään kirjaimellisesti tekstinä. $nimi = "Matti"; echo "Nimi: $nimi"; // tulostaa Nimi: Matti echo 'Nimi: $nimi'; // tulostaa Nimi: $nimi

Vielä lainausmerkkien käytöstä Käytä lainausmerkkejä kun käytät merkkijonoa, esim. näin: print ("Saat piiskaa!"); jos haluat tulostaa lainausmerkkejä ne täytyy edeltää \ -merkillä. Näin: print ("Saat \"piiskaa\"!"); Tulostaa tekstin: Saat "piiskaa"! Sama jos haluat sijoittaa muuttujaan arvon: $lausahdus = "Saat \"piiskaa\"!"; Kokeilkaa tulostaa lainausmerkit

Erikoismerkit tulostettaessa: kenoviiva = \\ dollarimerkki = \$ lainausmerkki = \" heittomerkki = \' tyhjä rivi = \n

Merkkijonojen yhdistäminen Tekstien yhdistämiseen käytetään pistettä. Kokeilkaa, alla kaksi eri tapaa: $etunimi = "Matti"; $sukunimi = "Meikäläinen"; $pituus = 175; echo "Hei! Olen $etunimi, $etunimi $sukunimi <br>"; echo "Olen ". $pituus. "cm pitkä.";

Tehtävä: mietelause.php Tee ohjelma Mietelause, joka tulostaa näytölle lyhyen mietelauseen (tai vaikkapa runon) ja oman nimesi. Muotoile ohjelman tulostus! (CSS:llä) Ruudulla (selaimessa) näkyvä teksti pitää olla php:llä tulostettua. Käytä tehtävässä muuttujia johonkin (mihin vain!)

http://users.metropolia.fi/~norrm/php/mietelause.php <!DOCTYPE html> <html><head> <title> Mietelause </title> <style type="text/css">.punainen {color:red;} </style> </head> <body> <h1>runo</h1> <p class="punainen"> <?php print "\"It was one time too many<br>"; print "One word too few<br>"; print "It was all too much for me and you<br>"; print "There was one way to go<br>"; print "Nothing more we could do<br>"; print "One time too many<br>"; print "One word too few\"<br>";?> </p><p><small> <?php echo "<i>-- Meredith Tanner</i>";?> </small> </p> </body> </html>

PHP-ympäristömme Z:\public_html hakemisto Sama kuin shell.metropolia.fi 195.148.97.131 Unix kone Tiedostojen siirto esim. WinSCP-ohjelmalla Macillä esim. Cyberduck Xampp luokan koneilla Voitte asentaa myös omalle koneellenne Tai pyytää helpparia asentamaa läppäreille

Tehdään kaikille 195.148.97.131-tunnukset: Markus luo kahdelle teistä admin oikeudet. Nämä kaksi luovat muille tunnukset koneelle. Oikeudet luodaan käskyllä: sudo adduser <username> Kun tunnus on olemassa, sen voi liittää adminryhmään: sudo adduser <username> sudo TÄRKEÄÄ: Käyttäkää hyvä salasanaa (tämä ollut aikaisemmin ongelma) Sitten tutustukaa 195.148.97.131 -koneeseen

Tutustukaa 195.148.97.131 -koneeseen Ottakaa terminaaliyhteys koneeseen PuTTY -ohjelmalla Kokeilkaa seuraavia käskyjä: pwd cd ls Hakekaa verkosta lisää tietoa näistä ja muista käskyistä

Kotitehtävä 1 Mikä on Unix? Kirjoittakaa lyhyesti 10 asiaa (väittämää) mitä Unix on, tai mitä Unix ei ole. Palauttakaa sähköpostitse Markukselle ennen ensi kerran luentoa!

Kotitehtävä 2 : Unixin shell-käskyt Valmistautukaa ensi kertaan lukemalla tämä: http://acad.coloradocollege.edu/dept/pc/ SciCompLab/UnixTutorial/ Hakekaa tarvittaessa lisää tietoa Unixin shellkäskyistä. Jos haluaa tutustua suomenkieliseen materiaaliin voi silmäillä esim. tätä: http://haa.iki.fi/luennot/unix/ (en itse pidä tätä kovinkaan selkeänä, mutta paljon tietoa siellä kyllä on) Ensi kerralla näihin liittyviä tehtäviä.