Yleistä kurssista |
HTML- perusteita |
PHP-kielen perusrakenteet |
HTML-lomakkeen käsittely |
Tiedoston käsittely |
Evästeiden käyttö |
Istunnon hallinta |
Oppimis- tehtävät |
Tee tehtävät aikataulun mukaisesti käytyäsi ensin läpi kyseisen teeman materiaaliin.
Tee palvelimella students.osao.fi sijaitsevan kotihakemistosi public_html-hakemistoon alihakemisto, jonka nimi on amva48-49.
Tee sinne dokumentti index.html, joka toimii kurssitehtäviesi pääsivuna.
Voit suunnitella sivun itse muuten, mutta siinä on oltava linkit jokaiseen oppimistehtävään.
Sivulla on oltava linkki, josta pääsee Linkit-sivulle. Kerää Linkit-sivulle kurssin aiheisiin liittyviä linkkejä. Tee tässä vaiheessa ainakin kaksi linkkiä verkosta löytyviin hyviin html-oppaisiin ja linkki sivulle, jossa on HTML-värikoodit.
Tee alla olevissa linkeissä olevien kuvien mukaiset sivut käyttäen HTML-kieltä.
sivu 1 sivu 2
Huomioi seuraavat kohdat:
Tee kurssin pääsivullesi linkki tehtävään. Tehtävää ei tarvitse palauttaa Moodleen.
Tee luvun 2 esimerkissä oleva Hello World-ohjelma.
Muokkaa ohjelmaa niin, että teksti tulostuu punaisella ja suuremmalla fontilla kuin esimerkissä.
Tee pääsivullesi linkki ohjelmaan. Palauta tiedosto myös Moodleen.
Tee luvussa 5 oleva muuttujaesimerkki, jos PHP:n muuttujat ja tietotyypit eivät ole sinulle tuttuja. Esimerkkiä ei tarvitse palauttaa!
Tee laskin.php -ohjelma, jossa on seuraavat toiminnot seuraavassa järjestyksessä:
Tee pääsivullesi linkki ohjelmaan. Palauta tiedosto myös Moodleen.
Kokeile luvussa 7 olevia esimerkkejä, mikäli PHP:n ohjausrakenteet ovat sinulle uusia.
Esimerkkejä ei tarvitse palauttaa!
Tee ohjelma karkaus.php, joka tulostaa kaikki karkausvuodet seuraavan sadan vuoden ajalta. Ohjelma on melko vaativa, joten tee se vaiheittain seuraavia ohjeita seuraten. Siirry seuraavaan vaiheeseen vasta kun olet saanut edellisen vaiheen toimimaan.
Tee pääsivullesi linkki ohjelmaan. Palauta tiedosto myös Moodleen.
Huom! Mikäli et saa toimimaan kohtia 2 ja 3, tee kuitenkin kohdat 4 ja 5.
Tee luvun 8 lopussa oleva esimerkki, missä on koottu yhteen ohjelmaan taulukkoesimerkit. Taulukoita tarvitaan kurssilla myöhemmin, joten käy luku 8 huolellisesti läpi.
Tee pääsivullesi linkki esimerkkiin. Tiedostoa ei tarvitse palauttaa Moodleen.
Tee luvuissa 9 ja 10 olevat esimerkit kaikki samaan php-tiedostoon. Tee pääsivullesi linkki tiedostoon. Tiedostoa ei tarvitse palauttaa Moodleen.
Tutustu PHP:n dokumentaatioon osoitteessa www.php.net ja etsi funtioiden pi,round() ja rand()-funktion syntaksit. Tee niiden avulla ohjelma joka arpoo ympyrän säteen satunnaisesti väliltä 0-10 , laskee ympyrän pinta-alan ja tulostaa sen kahdella desimaalilla kuvan mukaisesti.
Täydennä tehtävässä 5 tehtyä karkausvuosiohjelmaa siten, että joka toinen vuosiluku tulostetaan
eri värillä.
Lisää ohjelmaasi seuraava funktio ja toteuta värinvaihto funktiota kutsumalla.
function vaihdaVari() { static $vari; if($vari=="##1E8EF2") { $vari="#000000"; } else { $vari="##1E8EF2"; } return ($vari); }
Tee muutokset sivullesi ja palauta tiedosto Moodleen.
Tee luvussa 4 oleva esimerkki 1. Lähetä lomaketiedot omaan sähköpostiisi ja katso millaisessa muodossa sat tiedot sähköpostiisi.
Tee sivullesi linkki tiedostoon lomake.html. Lähdekoodia ei tarvitse palauttaa Moodleen.
Tee palautelomake, jolla käyttäjä voi antaa palautetta www-sivuistasi. Käytä ainakin neljää erilaista lomakekenttää. Lomaketiedot lähetetään sähköpostiin.
Tee sivullesi linkki tiedostoon lomake.html. Palauta lähdekoodi Moodleen.
Tee luvussa 4 oleva esimerkki 2.
Tee sivullesi linkki tiedostoon. Lähdekoodia ei tarvitse palauttaa Moodleen.
Tee vähintään 5 kysymyksen tietokilpailu, josta saa tuloksena pisteitä. Voit keksiä kysmykset, pisteytyksen ja kilpailun toteutuksen itse. Sinun ei tarvitse käyttää toteutuksessa esimerkkiä 2 hyväksesi, ellet halua, vaan voit suunnitella sen ihan itse.
Vinkki: Voit toteuttaa pisteiden laskemisen niin, että otat käyttöön muuttujan $pisteet. Tarkista jokainen kysymys erikseen if-lauseella ja kasvata muuttujaa $pisteet, mikäli vastaus on oikein.
Toinen tapa pisteiden laskemiseksi on laittaa kustakin vastauksesta saatava pistemäärä valintapainikkeen value-arvoksi. Tällöin pisteet saa helposti laskettua for each-silmukalla. Katso esimerkki for each-silmukasta HTML-lomakkeita käsittelevän teeman luvun 4 esimerkistä 1.
Tee sivullesi linkki tehtävään ja palauta lähdekoodi Moodleen
Tee luvussa oleva esimerkki 1.
Tee sivullesi linkki tiedostoon. Lähdekoodia ei tarvitse palauttaa Moodleen.
Täydennä oppimistehtävässä 14 tekemääsi tietokilpailua siten, että se tallentaa vastaajan pisteet tekstitiedostoon. Katso malli teoriaosan esimerkistä 2, mutta sovella se omaan ohjelmaasi mm. muuttujien nimien osalta.
Tee sivullesi linkki tehtävään ja palauta lähdekoodi Moodleen.
Tee yksinkertainen vieraskirja, jossa on näkyvissä kaikki viestit siinä järjestyksessä, kun ne on lisätty. Uusi viesti kirjoitetaan tiedoston loppuun. Katso vieraskirjan mallikuva tästä: vieraskirja.jpg
Vinkki: Jotta viestiin kirjoitetut rivinvaihdot tulostuisivat oikein, kirjoita viesti käyttäen funktiota nl2br(teksti), esim. fwrite($file, nl2br($_POST['viesti']))
Lisätehtävä: Muuta tehtävää siten, että uusin viesti tulee ensimmäiseksi. Vinkki: Lue koko vanha tiedosto ensin muistiin fread()-funktiolla.
Tee sivullesi linkki tehtävään ja palauta lähdekoodi Moodleen.
Luo tekstinkäsittelyohjelmalla dokumentti, jossa vastaat tässä tehtävän yhteydessä oleviin kysymyksiin 1)-4). Palauta tekstitiedosto Moodleen. Ennen kuin aloitat tehtävää tutustu selaimesi asetuksiin ja muuta asetuksia niin, että ennen evästeiden hyväksymistä kysytään sallitaanko eväste.
Osa 1:
Tee luvussa olevan esimerkin osa 1. Kun testaat koodia, selaimesi pitäisi kysyä sallitko evästeen tallentamisen.
Kysymys 1a) Etsi selaimen tallentama eväste koneesi kiintolevyltä ja avaa se vaikkapa muistiolla.
Kopioi vastaukseen evästeen sisältämä teksti. Miten tulkitset tekstin?
Kysymys 1b) Tutki milloin eväste vanhenee. Miten saat sen selville?
Osa 2:
Poista eväste koneeltasi ja muuta selaimen asetuksia niin, että estät evästeiden tallentamisen (muista poistaa osoite
sallituista sivuista). Testaa sivuasi tämän jälkeen.
Kysymys 2)Mitä ero on sivun toiminnassa ja miksi?
Osa 3:
Salli selaimesi evästeet. Muuta ohjelmaasi luvussa olevan esimerkin toisen osan mukaiseksi.
Kysymys 3)Selitä omin sanoin mahdollisimman tarkasti if-lauseella toteutetun php-scriptin toiminta.
Osa 4:
Evästeiden arvot tallennetaan palvelimelle globaaliin taulukkomuuttujaan $_COOKIE.
Lisää sivun loppuun painikkeiden alle koodi, joka tulostaa kyseisen assosiatiivisen
taulukon arvot avaimineen. Käytä funktiota print_r($_COOKIE).
Kysymys 4) Selitä, miksi funktiolla tulostettu laskurin arvo ja
echo-lauseella tulostettu muuttujan arvo eroavat toisistaan.
Tee sivullesi linkki lopulliseen tehtävän ratkaisuun ja palauta vastaukset kysymyksiin Moodleen.
Tee yksinkertainen äänestysohjelma, jossa voi valita kolmesta vaihtoehdosta yhden. Äänestyksen sen hetkiset tulokset näkyvät sivulla heti äänestämisen jälkeen. Käytä tulosten tallennukseen tekstitiedostoa. Estä moneen kertaan äänestäminen evästeen avulla.
Tee sivullesi linkki tehtävään ja palauta lähdekoodi Moodleen.
VINKKI: Toteuta ensin toiminto, joka estää moninkertaisen äänestämisen. Se on helpompi tehdä kuin tulosten tallentaminen
Palauta Moodleen kaikki tiedostot pakattuna yhdeksi zip-tiedostoksi.
Käy tekemässä Moodlessa oleva loppukoe. Se koostuu monivalintakysymyksistä ja lyhytvastauksista. Aikaa kokeen suorittamiseen on 60 minuuttua.
Suunnittele ja toteuta oma web-sovellus, jossa osoitat osaavasi soveltaa kurssilla opeteltuja asioita.
Voit valita aiheen itse. Sovelluksessa on käytettävä joko tekstitiedoston käsittelyä tai evästeitä tai istunnon hallintaa.
Arvioinnissa huomioidaan kurssilla opiskeltujen asioiden monipuolinen hyödyntäminen ja itsenäinen soveltaminen sekä ohjelman vaativuus
Vinkkejä aiheiksi: