VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN



Samankaltaiset tiedostot
PHP:n alkeita ja taustaa. Markus Norrena

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

OPPITUNTI 3 Ensimmäinen skripti

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

HTML ja CSS. Tästä se lähtee: portfolio-sivusto. Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot.

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

Julkaiseminen verkossa

Verkkosivut perinteisesti. Tanja Välisalo

MITÄ JAVASCRIPT ON?...3

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

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

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

1 www-sivujen teko opetuksessa

Hieman linkkejä: lyhyt ohje komentoriviohjelmointiin.

HTML perusteita (ei julkiseen jakeluun)

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

TIEDEJUTTUKURSSI FM VILLE SALMINEN

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

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

AT4-kotisivukurssi. 4. jakso


Unix-perusteet. Tiedosto-oikeudet

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

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

1 PHP-sovelluksen toiminta

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

2. PEHMEÄ XHTML XRAJAHTML

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Johdatus Ohjelmointiin

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

5. HelloWorld-ohjelma 5.1

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.

HTML editorin käyttö - 1

LINUX-HARJOITUS, MYSQL

Pedacode Pikaopas. Web-sovelluksen luominen

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

Linux - käyttöoikeudet

Internetsivujen perusrakenne. Html-dokumentin keskeiset elementit ja attribuutit

Multimaker7 ohjelmalla tuotettujen ohjelmien julkaisusta

Sivupohjien täyttö suppeat sivupohjat

Unix. Markus Norrena

KÄYTTÖOHJE. Servia. S solutions

ASCII-taidetta. Intro: Python

Tiedostojen vienti Internetiin ja www-sivujen luonti

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

Code Camp for Girls. Sanna Nygård. Lokakuussa

Johdatus edistyneeseen web-kehitykseen. Juuso Lappalainen

3 Verkkosaavutettavuuden tekniset perusteet

Kieliteknologian ATK-ympäristö Toinen luento

SQL Buddy JAMK Labranet Wiki

4. Lausekielinen ohjelmointi 4.1

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Suvi Junes/Pauliina Munter Tampereen yliopisto / tietohallinto 2014

Webpalvelin muistitikulle - Ohje

Palvelinpuolen ohjelmointi

Rasterikarttojen ja liiteaineistojen päivitysohje SpatialWeb5 Karttapaikka

SeaMonkey pikaopas - 1

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

Teeman rakentaminen Wordpressiin

Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta.

XML johdanto, uusimmat standardit ja kehitys

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

Kirkkopalvelut Office365, Opiskelijan ohje 1 / 17 IT Juha Nalli

ASENNUS- JA KÄYTTÖOHJE

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

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

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Notepad++ on ilmaisohjelma ja sen voi ladata osoitteesta:

Ohjelmoinnin perusteet Y Python

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html;

Proseduraalinen dokumentti: sisältö, rakenne ja ulkoasu yhdessä, esim. worddokumentti

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

PHP tehtävä 3 Atte Pekarinen TIKT13A

1 Asentaminen 12/

Google-dokumentit. Opetusteknologiakeskus Mediamylly

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

Ohjeita peda.net palvelun Luo uusi osioon

Julkaiseminen verkossa, esitysgrafiikkaa (laitteistosta, tietotekniikka ja tulevaisuus) H9T1: Tiedostojen vienti internetiin

Tee html-sivu, jossa on yllä olevat kaksi taulukkoa.

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

Uuden Peda.netin käyttöönotto

Harjoitus 5 (viikko 41)

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

Komentotulkki (SHELL) C- "perhe" - csh, alkup. C shell. Komentokieli. kieltä. - tcsh - edellisen laajennettu versio

Aulikki Hyrskykari H9 Taustamateriaali (WWW-julkaiseminen) Tietojenkäsittelyopin laitos, Tampereen yliopisto

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

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

Verkkojulkaiseminen Minna Väisänen. HTML5-tehtävä

1 Asentaminen. 2 Yleistä ja simuloinnin aloitus 12/

XML tehtävien työnkulku

Java-kielen perusteet

Versionhallintaa. Versionhallinnan käyttöönotto SAS ympäristössä

Ohjelmoinnin perusteet, syksy 2006

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

POISSAOLOJEN SEURANTAJÄRJESTELMÄ

Korpusten käsittely clt131, P Luento 5

Julkaiseminen verkossa

Ohjelmoinnin perusteet Y Python

Ennen varmenteen asennusta varmista seuraavat asiat:

Kirjanpidon ALV-muutos

Transkriptio:

VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN Tämän tehtävän tarkoitus on tutustuttaa ympäristöön sekä tutustuttaa wwwdokumenttien tekoon php:llä. Alkutoimet Varmistetaan, että verkkolevyllä on kansio nimeltään public_html. Tämä on kansio, johon jokainen käyttäjä voi luoda omat kotisivunsa. Tarvitsemme tätä kansiota testataksemme php-skriptejämme. Tänne kannattaa luoda alikansio (vaikkapa nimellä php) ja tallettaa kaikki harjoitukset sinne. Kun kotisivukansio on luotu, siihen voidaan viitata osoitteella http://users.metropolia.fi/~ktunnus/. Huomaa, että tällainen viittaaminen edellyttää ns. indeksitiedoston olemassaoloa. Indeksitiedosto on tiedosto, joka näytetään hakemistosta, jos hakemistoon viitataan vain hakemiston nimellä. Indeksitiedoston nimi on yleensä index.tarkennin,esimerkiksi index.html, index.htm, index.php jne... Indeksitiedosto estää hakemiston sisällön suoran katselun. Yksittäiseen tiedostoon voidaan viitata sen nimellä, esimerkiksi seuraavalla tavalla: http://users.metropolia.fi/~ktunnus/php/harjoitus1.php joka viittaa public_html-hakemiston alikansiossa php olevaan harjoitus1.php-nimiseen tiedostoon. Huomaa, että tiedostojen ja kansioiden nimissä kirjainkoko ratkaisee, esimerkiksi tiedostot HARJOITUS1.PHP ja harjoitus1.php ovat kaksi eri tiedostoa! Oikeuksista (samalla pieni unix-kertaus...) Jotta sivut näkyisivät verkossa, tulee sivutiedostolla olla lukuoikeudet ryhmällä others. Lähtökohtaisesti (tietoturvasyistä) eivät muut kuin omistaja (user) saa mitään oikeuksia. Sivun tiedoston kohdalla lähtökohta oikeuksien suhteen on yleensä seuraava: -rw-------. 1 kuivanen kuivanen 537 Jan 20 2005 taulukot.php komentamalla komentoriviltä (esim. edunix.metropolia.fi:ssä) chmod o+r taulukot.php saa tiedosto oikeudet -rw----r--. 1 kuivanen kuivanen 537 Jan 20 2005 taulukot.php Tämän enempiä oikeuksia tiedosto ei tarvitse! ÄLÄ ANNA LIIKAA OIKEUKSIA! Hakemisto tarvitsee x-oikeudet others-ryhmälle, jotta siellä olevia tiedostoja voitaisiin näyttää. Näin ollen kannattaa tarkistaa, että sekä oman kotihakemiston että public_htmlkansion oikeudet ovat tällaiset: drwx-----x. 23 kuivanen kuivanen Oikeudet voivat olla myös tällaiset: drwx---r-x. 23 kuivanen kuivanen 4096 Nov 21 2007 public_html 4096 Nov 21 2007 public_html Tällöin jos hakemistossa ei ole ns. indeksitiedosta (index.html, index.htm, index.php,...), näytetään hakemistoviittauksella hakemiston tiedostot selaimessa. Tämä voi olla ihan hyvä asia testivaiheessa, mutta ns. tuotantokäytössä kannattaa lukuoikeus poistaa. Kotihakemistoon ei saa antaa lukuoikeuksia! 1(5)

HUOMAA! Oppilaitoksemme unix-servereillä on välillä havaittu käyttäytymistä, jossa Windowspuolella tapahtuva tiedoston muokkaaminen poistaa siltä yllä mainitut lukuoikeudet! Tämä tarkoittaa sitä, että jokaisen muokkaamisen jälkeen on tiedoston oikeudet käytävä muuttamassa takaisin! Millä ohjelmilla koodia toteutetaan? Php-koodia voi toteuttaa millä tahansa suosikkieditorillaan. Luokkiin on asennettu htmleditori nimeltään HTMLKit, joka osaa korostaa php:n syntaksia, joka omalta osaltaan helpottaa koodin kirjoittamista. Tällä editorilla saa myös html-dokumenttien vakio-osat automaattisesti paikoilleen. Luonnollisesti voi käyttää mitä tahansa editoria. Windows-puolen peruseditoreista Notepad++ on asennettu koneisiin ja on Windowsin omaa Notepadia paljon parempi. Editorien lisäksi Eclipse-ympäristössä on myös PHP-paketti mukana. Tästä ja muutenkin PHP:n testauksesta erillisessä dokumentissa! Linux-ympäristössä Bluefish 1 -niminen html-editori on erinomainen työväline. Se tuntee php:n syntaksin ja osaa avustaa funktioiden toteuttamisessa. 1 Huom! Vanhemmissa dokumenttiversioissa mainitun Quanta+-nimisen editorin kehitys on lopetettu. 2(5)

Ensimmäinen esimerkki Alla pieni perustavaa laatua oleva esmerkki siitä, miten PHP-koodi liitetään osaksi wwwdokumenttia. Talleta esimerkki vaikkapa nimellä eka.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>php-esimerkki 1</title> </head> <body> /* Tästä alkaa koodin osuus. Tätä ei selain näe ikinä. Tällä lailla esitetään usean rivin kommentti, alkaa siis kauttaviiva-tähti ja päättyy tähti-kauttaviivaan... */ print("hello, World!"); // saa tässä muutakin kirjoittaa, // jos tämä klassikko nyppii // Tällainen on muuten yhden // rivin kommentti </body> </html> Kun tiedoston nimessä on perässä.php, ajaa www-palvelin sivun koodin PHP-tulkin lävitse. Selain saa aivan puhtaan www-sivun, jossa ei siis näy mitään PHP-koodauksia mukana. Kun katsot selaimen näyttämää koodia, siinä ei näy mitään viitteitä PHP:hen. Palvelimen täytyy tukea PHP:tä, esimerkiksi perus-apache ei näytä yksin mitään PHPsivuja. Tosin käytännössä aina kun Apache asennetaan perusasetuksillaan, se sisällyttää PHP-moduulin, jolloin PHP:n ajaminen onnistuu. Jos halutaan tulosteeseen html-koodia mukaan, ne pitää lisätä tulosteeseen, vaikkapa näin: print ("<h1>otsikko, toteutettu php:llä</h1>\n"); print ("<p>kappaletekstiä, tämäkin php-koodissa toteutettuna</p>"); Huomaa rivinvaihtomerkki (\n) ensimmäisen print-rivin lopussa. Tällä tavoin saa htmlsivun lähdekoodiin aikaiseksi rivinvaihtoja. Ilman näitä koko html-koodi PHP:stä tulostettuna on samalla rivillä. Tarkkaavainen lukija ymmärtää varsin nopeasti, että koodin luettavuuden kannalta nämä ovat varsin hyödyllisiä lisäyksiä. Tosin tämän esimerkin tekee kätevästi myös heredoc:lla: echo <<<END <h1>otsikko, toteutettu php:llä</h1> <p>kappaletekstiä, tämäkin php-koodissa toteutettuna</p> END; Makuasioista voi kiistellä, kumpi tuntuu mukavammalta. Jälkimmäisessä ei edes tarvita erillisiä rivinvaihtomääreitä. Joka tapauksessa molemmat tavat on syytä hallita, joka paikassa ei voi heredoc:ia käyttää. 3(5)

HUOM! \n:llä ei tietenkään saa tehtyä rivinvaihtoa www-sivulle: print ("<p>kappaletekstiä,\n tämäkin php-koodissa toteutettuna</p>"); Tämä jakaa ainoastaan lähdekoodin kahdelle riville. Itse kappale näkyy yhtenä pötkönä. Jos sen rivinvaihdon haluaa www-sivuun, silloin on käytettävä html-kielen rivinvaihtoa, elikä <br>:ää (<br /> xhtml:ssä). Toinen esimerkki Hieman laajempi esimerkki. Mitä seuraava koodi tekee? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>looppiesimerkki</title> </head> <body> <h1>taulukkoon rivejä php:llä</h1> <table border="1" cellspacing="0"> $riveja=4; for($i=1; $i<=$riveja; $i++) { print("<tr><td>tämä on rivin $i solu 1</td>\n"); echo ("<td>tämä on rivin $i solu 2</td></tr>\n"); } </table> </body> </html> 4(5)

Tehtäviä Tehtävät kuitataan suoritetuksi esittämällä toimivat vastaukset tunnin lopulla. Tehtäviä voi myös halutessaan ratkoa pienissä ryhmissä. 1. Toteuta ylläolevat esimerkit ja totea niiden toiminta. 2. Aiemmissa esimerkeissä oli esitetty yksi tapa liittää PHP-koodi www-dokumenttiin sekä yksi tulostuslause, print. Tutustu PHP-materiaaliin ja etsi muut tavat liittää PHPkoodi www-dokumenttiin sekä muut tulostuslauseet. 3. Mitä tekee funktio phpinfo()? 4. Seuraava esitys antaa päiväyksen muodossa 8.1.2014: $pvm=date("d.m.y"); echo $pvm; 5. Toteuta nyt seuraavat päiväyksen muodot: a) Sunday, 1. September 2010. b) Kello on: 13.59 (vihje: tutustu php.net-sivustoon) 6. Muuta taulukkoesimerkkiä siten, että voit määrittää muuttujalla myös rivin solujen lukumäärän. 7. PHP:n lainausmerkeillä ( " - lainausmerkki, ' - heittomerkki ) on käytännön eroja, miten ne käsittelevät muuttujia merkkijonoissa. Tutustu dokumentaation kautta tähän eroon ja samalla selvitä, miten mainittu "nowdoc" eroaa "heredoc"-ominaisuudesta. 8. Esimerkeissä on käytetty HTML 4.01 Transitional -koodausta. Sivustoilla voidaan kuitenkin käyttää xhtml-koodausta, jonka 1.0 strict -version tunnistetiedot koodin alussa ovat seuraavat: <?xml version="1.0" encoding="iso-8859-15" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="fi" xml:lang="fi"> Toteuta nyt ensimmäinen esimerkki siten, että vaihdat html-koodauksen xhtml:ksi. Esimerkissä ei tarvitse tehdä mitään muita konversioita kuin vaihtaa ylimmäinen rivi noihin tuossa esitettyihin. Luonnollisesti lopputuloksena on oltava toimiva www-sivu. 5(5)