Tehtävänanto:
- a) Tee käyttäjän kotisivulle PHP:lla “Hei maailma” (esim. lukujen yhteenlasku). Asenna tarvittavat sovellukset. Aloita tyhjästä liverompulla.
- b) Tee yksinkertainen PHP-ohjelma, joka laskee jotain käyttäjän syötteiden perusteella. Esim. suorakaiteen ala korkeudesta ja leveydestä, painoindeksi (BMI) pituudesta ja painosta tai syntymäaika syntymävuodesta. Vinkkejä: php.net: Manual: English: Simple tutorial: Forms. Kun julkaiset PHP-lähdekoodia WordPressissa, muista valita tekstin tyyliksi CODE, jotta sisennykset ja muut merkinnät näkyvät oikein.
Olenkin jo kerran kirjoitellut tänne raporttia Apache-webpalvelimen asennuksesta, joten en sitä nyt tee. Vaan hyppään suoraan koodin kirjoittamiseen websivulle.
Uusi läppärini saapui, joten työympäristö on nyt hieman erilainen.
Tietokoneen kokoonpano ja työympäristö:
- Malli: Fujitsu Lifebook AH532
- Suoritin: Intel Core i3-2328M 2.2GHz
- Näytönohjain: Intel HD Graphics 3000
- Muisti: 4Gb DDR3
- Käyttöjärjestelmä: Ubuntu 12.04 LTS 64-bit
Ongelma I
Apachen asennus onnistui normaalisti. Asennuksen jälkeen kokeilin toimivuutta kirjoittamalla URL-kenttään “localhost” – Apache toimi normaalisti.
Tämän jälkeen loin tarvittavat kansiot websivua varten. Poikkeuksena viime postaukseen, vaihdoin index.html nimen index.php.
Kun kirjoitin selaimen URL-kenttään “localhost/~juho/index.php alkoi selain lataamaan .php-tiedostoa, eikä näyttänytkään sitä suoraan ruudulla.
Pienen googlettamisen jälkeen tajusin, etten ollut asentanut Apacheen php-pluginia. Tein sen komennoilla:
sudo apt-get install libapache2-mod-php5filter
sudo apt-get install libapache2-mod-suphp
Apachlle restart ja tämän jälkeen kotisivu näyttäytyi normaalisti.
Hei maailma
Kotisivun asennus Ubuntulle onnistui. Seuraavaksi tein pienen “Hei maailma” tervehdyksen PHP:lla.
Tein uuden tekstitiedoston nimeltä index.php ja kirjoittelin sinne pätkän koodia nanolla.
Ja tältä se näytti websivulla:
I have no idea what I’m doing
EDIT: “Width” pitäisi olla “Lenght”.
PHP on hirveää, tämä ei meinaa toimaa millään.
Päätin tehdä PHP:llä/HTML:llä pienen laskimen, joka laskisi kolmion ja suorakaiteen pinta-alan, eli kertoisi kaksi lukua keskenään.
Meinasin rage quittaa monta kertaa, sillä PHP on aivan hirveän epäkäytännöllinen mielestäni.
Lopulta sain säädettyä tälläisen koodin, joka vihdoinkin teki mitä halusin:
Koska Java on minulle tuttu, tein ohjelman omasta mielestäni helpoimmalla tavalla, eli muuttujilla. Heti alussa määritän muuttujat $value1, $value2 ja $result.
$value1 ja 2 ovat käyttäjän määriteltävissä, kun taas $result on muuttujien tulo.
Käyttäjä määrittää muuttujat ja ohjelma kutsuu toiminnon mult.php ja ilmoittaa muuttujan $result arvon.
Vaikein kohta tässä koodissa oli se, että tajusin nimetä ohjelman mult.php. Eli, kun ohjelma hakee tiedostoa mult.php se hakee itsensä ja siten toteuttaa tuon viimeisen komennon, eli printtaa $resultin,
Selaimessa ohjelma näyttää tältä:
ja ilmoittaa vastauksen näin:
EDIT: Kommentoin koodin.
Sama Javalla
Halusin testata miten saman ohjelman tekeminen onnistuu Javalla, kun PHP:lla se tuntui niin kankealta.
Mielestäni Javalla koodista tuli selkeämpi ja ennen kaikkea helpompi kirjoittaa. Seuraavana ongelmana olisikin saada Java-koodi websivulle.
EDIT: Java lisätty.
-
“Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html”
-
“Pohjana Tero Karvinen 2012: Linux kurssi, http://terokarvinen.com”