Kirjautuminen

Haku

Tehtävät

Opasarkisto: Käytännön PHP-opas: Osa 1 - Johdanto

  1. Osa 1 - Johdanto
  2. Osa 2 - Muuttujat ja taulukot
  3. Osa 3 - Komentorakenteet
  4. Osa 4 - PHP ja Internet-sivut
  5. Osa 5 - Tiedostojen käsittely
  6. Osa 6 - Funktiot
  7. Osa 7 - Evästeet ja istunnot
  8. Osa 8 - Tietokannat (MySQL)
  9. Osa 9 - Vinkkejä ja vihjeitä

Kirjoittaja: Antti Laaksonen. Vuosi: 2003.

Huomio! Tämä opas on vanhentunut. Oppaan sisältöön ei voi enää luottaa. Opas on säilytetty vain sen historiallisen arvon vuoksi.

PHP on ilmainen, palvelinpohjainen skriptikieli, jota käytetään usein toiminnallisten www-sivujen toteuttamiseen. Palvelinpohjaisuus tarkoittaa sitä, että PHP-koodi suoritetaan palvelimella, jolloin se ei vaadi mitään erityistä tukea selaimelta. Se tarkoittaa myös sitä, että skriptillä on pääsy esimerkiksi palvelimen tiedostoihin ja tietokantoihin.

Tämä PHP-opas on yritetty kirjoittaa niin, että se antaa lukijalle perustiedot PHP-kielen ominaisuuksista ja mahdollisuuksista. Opas ei siis pyri olemaan täydellinen kuvaus kielestä. Ensimmäiset kolme osaa käsittelevät kielen rakennetta, tämän jälkeen keskitytään nimenomaan www-sivujen tekemiseen liittyviin asioihin.

Oppaan lukemiseksi et tarvitse välttämättä aikaisempaa ohjelmointikokemusta, mutta perustiedot www-sivujen luomisesta ja HTML-kielestä on syytä olla. Jos olet ohjelmoinut aiemmin jollain toisella kielellä, tulet todennäköisesti omaksumaan PHP:n nopeasti. Erityisesti C-kielen lauserakenteet ovat hyvin samankaltaisia PHP:n kanssa. Tämän lisäksi PHP on helppokäyttöinen ja joustava kieli.

Alkuvalmistelut

Ennen kuin voit alkaa ohjelmoida PHP:lla, tarvitset sitä tukevan palvelimen. Voit tarkistaa oman palvelimesi PHP-tuen seuraavalla skriptillä. Nimeä se testi.php:ksi, lähetä palvelimelle (FTP-ohjelmalla) ja katso sivua selaimella.

<?php
echo "Toimiiko PHP?";
?>

Jos selaimessa näkyy ainoastaan teksti "Toimiiko PHP?", palvelin tukee PHP:ta. Jos selain näyttää koko koodin, palvelimella ei ole PHP-tukea. Maksuttomat kotisivutilat eivät aina tue PHP:ta, koska se asettaa vähän suuremmat vaatimukset palvelimelle – hyvää ei saa ilmaiseksi.

PHP-skriptejä voi testata myös omalla tietokoneella asentamalla sopiva palvelinohjelma PHP-tuella. XAMPP-paketti tarjoaa helpon tavan asentaa tarvittavat ohjelmat omalle koneelle. Ohjelmointiputkassa on myös kuvitettu ohje XAMPP:n asennuksesta Windows-ympäristöön.

Osoitteesta https://www.php.net/ löytyy PHP:n virallinen manuaali, joka sisältää tarkan kuvauksen PHP-kielen rakenteesta ja kielen sadoista funktioista. Manuaali on luettavissa Internetissä, ja voit myös kopioida sen omalle koneellesi. Tulet varmasti löytämään manuaalille käyttöä ennemmin tai myöhemmin.

Ensimmäinen skripti

Perinteinen tapa aloittaa uuden ohjelmointikielen opiskelu on kirjoittaa pieni ohjelma, joka tulostaa pätkän tekstiä. Näin teemme mekin. Kirjoita seuraavat rivit tekstieditorilla, tallenna skripti nimellä eka.php, ja katso sivua selaimella.

<?php
//tulostaa tekstin "PHP-ohjelmointi on mukavaa!"
echo "PHP-ohjelmointi on mukavaa!";
?>

Selaimen ikkunaan pitäisi ilmestyä teksti "PHP-ohjelmointi on mukavaa!". Koska PHP-koodi suoritetaan jo palvelimella, sivun koodissa ei näy mitään PHP:hen viittaavaa. Tämän ansiosta sivun katselijat eivät myöskään pysty näkemään kirjoittamaasi koodia.

Skriptin merkintä ja kommentointi

PHP-skriptin merkitsemiseen on useita eri tapoja, mutta paras ja yleisimmin käytetty tapa on aloittaa skripti <?php-merkinnällä ja päättää se ?>-merkintään. Samalla sivulla voi olla useita PHP-osuuksia, joiden välissä voi olla tavallista HTML-koodia.

//monta PHP-koodiosuutta HTML-dokumentissa
<html>
<body>
<p>Tämä HTML-sivu on luotu <?php echo "PHP:n"; ?> avulla ja sen pituus on <?php echo 5; ?> riviä.</p>
</body>
</html>

Kommentteja käytetään selventämään skriptin toimintaa. Koodin kommentointi on hyödyllistä erityisesti silloin, kun skriptit ovat pitkiä ja monimutkaisia. PHP:ssä on kolme kommentointitapaa.

<?php
//yhden rivin pituinen kommentti

/* kolmirivinen kommentti,
joka vaatii sekä aloitus-
että lopetusmerkinnän */

# vaihtoehtoinen kommentointitapa
?>

Tekstin tulostaminen

PHP:ssä on kaksi lähes samanlaista komentoa tekstin tulostamiseen, echo ja print. Se, kumman itse valitsee, on käytännössä makuasia. Joka tapauksessa kummatkin tulostavat sivulle niille parametriksi annetun tekstin.

Merkkijonot ympäröidään joko lainausmerkeillä tai heittomerkeillä. Lisätietoa merkkijonojen merkitsemisestä on tämän opassarjan toisessa osassa.

<?php
echo "Tämä on lainausmerkeissä tulostettu lause. ";
echo 'Tämä on heittomerkeissä tulostettu lause. ';
?>

Luvut ilmoitetaan sellaisenaan. Kuten ohjelmointikielissä yleensäkin, desimaalipilkkuna käytetään pistettä.

<?php
echo 4;
echo 2003;
echo 3.14159;
?>

PHP:n lauseet

PHP:ssä jokainen ohjelmalause päätetään puolipisteeseen. Tämä tarkoittaa sitä, että samalla rivillä voi olla useampia lauseita puolipisteellä erotettuna. Kuitenkaan koodin selkeyden vuoksi yhdelle riville ei tavallisesti kannata laittaa kuin yksi lause.

<?php
echo "Ensimmäinen lause. ";
echo "Toinen lause. "; echo "Kolmas lause. "; echo "Neljäs lause.";
?>

Loppusanat

Tämän PHP-oppassarjan ensimmäinen osa alkaa olla lopussaan. PHP:n toimintaperiaate tuli toivottavasti selväksi, seuraavaan osaan on luvassa tietoa muuttujista ja taulukoista. Palautetta, ilmoituksia virheistä ynnä muuta voi lähettää esimerkiksi sähköpostilla.

Antti Laaksonen, 28.3.2003


Kommentit

Heikki [16.02.2003 19:55:42]

Lainaa #

Olisi kannattanut ainakin ehtolauseet esitellä ensimmäisessä osassa.

Antti Laaksonen [16.02.2003 21:29:02]

Lainaa #

En nyt viitsi turhaan pitää kiirettä. Osa 2 käsittelee muuttujia ja taulukoita, ja osassa 3 on tietoa ehto- ja silmukkarakenteista, kuten if:stä.

weicco [29.05.2003 19:41:03]

Lainaa #

Kannattaa varmaan opettaa hyvät koodaustavat (coding convention) heti alusta. Eli ei tuollaisia 3 lausetta samalla rivillä yms. Helpottaa asioita myöhemmässä vaiheessa.

Kossu [06.07.2003 20:07:52]

Lainaa #

Mukava opas. (¨) <- peukalo pystyyn

Graphic [21.09.2003 15:47:01]

Lainaa #

nii, mitä enemmän koodia samalla rivillä, sitä vaikeempi sitä on lukea. :) kielestä riippumatta.

T.M. [29.01.2004 13:57:41]

Lainaa #

Tuo kolme lausetta samalla rivillähän vain kuvasi sitä ettei niitä ole pakko laittaa eri riveille :)

routilaj [07.03.2004 18:36:43]

Lainaa #

Silti ei kannata opettaa käyttämään montaa riviä tekstiä samaan koodiriviin!!!!

MaSa MaiNiO [04.08.2004 20:45:09]

Lainaa #

Eeh... Mitä jos ei näy mitään, kun kokeilee tota testiä? Siis testi.php
Kokeilin, mutta ei näy mitään!
Jätin sen vähäksi aikaa osoitteeseen:
http://www.freepgs.com/masa-webbi/testi.php
Mutta ei ole pakosta kauaa!
Eli vastauksia, PLEASE! ;)

MaSa MaiNiO [05.08.2004 14:50:05]

Lainaa #

Tai se paikka vaihtu... :D TUOLLA se taitaa olla kauemmin... :) Eli vastauksia, pliis!
http://www.freepgs.com/emkoo/testi.php

nikkenakkerton [01.07.2005 23:42:58]

Lainaa #

Masa Mainio luullakseni freepgs:n palvelin ei tue php:tä. Tarkista palvelimen tuet freepgs:n sivuilta.

hazardi [23.07.2005 00:45:08]

Lainaa #

kahden kuukauden tappelun jälkeen sain apachen ja php:n toimimaan koneella niin eiköhän tämän oppaan avulla myös opita sitten tuo php-kieli.

onneksi joku on nähnyt vaivaa tehdä tälläisen ja sille iso hatun nosto!

arnold super [04.01.2006 20:53:20]

Lainaa #

muuten hyvä mutta eikö ensimmäinen ohjelma pitäisi olla "hello world"

Juhko [28.10.2006 19:31:51]

Lainaa #

Oikein hyvä... Ohops! Nytpä innostuin PHP:stä! ; )

siansaksamies [15.03.2007 15:28:53]

Lainaa #

Helpoiten Apachesta ja PHP:stä (+ MySQL) pääsee asentamalla winukkaansa WAMP:in, jonka löytää osoitteesta http://wampserver.com/en/download.php .

epsion [20.06.2008 11:56:46]

Lainaa #

Toi wampserver olikin todella helppo ja hyvä ratkasu :)

Juhko [30.08.2008 19:05:49]

Lainaa #

Siis todella hyvä opas, voitte katsoa aikaansaannoksiani osoitteesta http://www.hulluaivo.tk/

Jakke1 [08.12.2008 00:24:39]

Lainaa #

Jep, toi wamp on hyvä :)

Numis97 [12.12.2010 17:47:30]

Lainaa #

Ilman tietokoneen php-tukea, jota en itse ole edes saanut toimimaan, pärjää myös. Homma käy helposti, kun on kunnon ftp-ohjelma (itsellä Filezilla) auki, jolloin siirtey on helppoa ja nopeaa.

Le-Co-Las [04.02.2011 17:30:21]

Lainaa #

Numis97 kirjoitti:

Ilman tietokoneen php-tukea, jota en itse ole edes saanut toimimaan, pärjää myös. Homma käy helposti, kun on kunnon ftp-ohjelma (itsellä Filezilla) auki, jolloin siirtey on helppoa ja nopeaa.

Itse käytin ennen myös servolle siirtoon SFTP yhteyttä filezillalla, jossa sitten voi testata, mutta huomasin että on vaivattovanpaa asentaa se php koneelle. Tai sitten asentaa esim. WAMP:in jossa on mukana php, MySQL ja apache jne.
Kannattaa kokeilla. http://www.wampserver.com
Tämän jokainen saa toimimaan senkun vaan lataa ja asentaa : )

Tämä opas on loistava, kiitos paljon Antille!!

Ezio [10.06.2011 13:34:37]

Lainaa #

hmm eipä toimi kumpikaan noista wamp/xampp minulla. Apache palvelin online-tilassa ja kaikki pitäis olla kunnossa, mut näyttää siltikin php-koodin selaimessa. :( UAC poistettu käytöstä. Neuvoja?
Edit. Ongelma ratkesi. localhost/testisivu.php selaimessa osoitteeksi. Alun perin yritin avata C:ltä suoraan tuon sivun. :)

teemuh [12.09.2011 15:05:07]

Lainaa #

hmm jotenkin kun käväsin ton juhkon sivulla heitti johonkin kilpailu sivulle.
Edit:joku semmonen missä piti pistää numero sähköposti jne

Kirjoita kommentti

Huomio! Kommentoi tässä ainoastaan tämän oppaan hyviä ja huonoja puolia. Älä kirjoita muita kysymyksiä tähän. Jos koodisi ei toimi tai tarvitset muuten vain apua ohjelmoinnissa, lähetä viesti keskusteluun.

Muista lukea kirjoitusohjeet.
Tietoa sivustosta