13. Pintaa syvemmältä 233
|
|
- Sanna-Kaisa Palo
- 10 vuotta sitten
- Katselukertoja:
Transkriptio
1 13. Pintaa syvemmältä 233 OPPITUNTI 13 Pintaa syvemmältä Tällä tunnilla tutkimme joitakin funktioita, joilla saamme informaatiota ympäristöstä tai kommunikoimme ulkoisen maailman kanssa. Tämän tunnin aiheita ovat seuraavat: Lisätietoa ympäristömuuttujista HTTP-yhteyden rakenne Asiakirjan saaminen etäpalvelimelta Oman HTTP-yhteyden luominen Muiden verkkopalvelujen käyttäminen Sähköpostin lähettäminen skripteistä käsin
2 Pintaa syvemmältä Ympäristömuuttujat Olet jo kohdannut joitakin ympäristömuuttujia, jotka PHP antaa käyttöön palvelinyhteyden syntyessä. Joidenkin muuttujien kautta saadaan tietoa käyttäjistä. On kuitenkin muistettava, että jotkut muuttujat eivät välttämättä ole saatavilla järjestelmässäsi tai palvelinohjelmistosi kautta, joten tilanne kannattaa tarkistaa skripteissä ennen käyttöä. Taulukko 13.1 luettelee joitakin muuttujia, jotka saattavat olla hyödyllisiä haluttaessa saada tietoa käyttäjistä. Taulukko 13. Ympäristömuuttujia. Muuttuja Tarkoitus $HTTP_REFERER URL, josta nykyistä skriptiä kutsuttiin $HTTP_USER_AGENT Tietoa selaimesta ja alustasta, jota vierailija käyttää $HTTP_ADDR Vierailijan IP-osoite $HTTP HOST Vierailijan isäntänimi QUERY_STRING Koodattu merkkijono, joka on URL:n perässä (muoto on?avain1=arvo1&avain2=arvo2). Nämä avaimet ja arvot tulevat skriptiesi käyttöön globaaleina muuttujina. $PATH_INFO Lisätietoa, joka voi liittyä URL:ään Listaus 13.1 muodostaa skriptin, joka tulostaa näiden muuttujien sisällön selaimelle. Listaus 13.1 Joidenkin ympäristömuuttujien listaaminen 1: <html> 2: <head> 3: <title>listing 13.1 Listing some environmental variables</title> 4: </head> 5: <body> 6: <?php 7: $envs = array( "HTTP_REFERER", "HTTP_USER_AGENT", "REMOTE_ADDR", "REMOTE_ HOST", "QUERY_STRING", "PATH_INFO" ); 8: foreach ( $envs as $env ) 9: { 10: if ( isset( $$env ) ) 11: print "$env: ${$env}<br>"; 12: } 13:?> 14: </body> 15: </html>
3 13. Pintaa syvemmältä 235 Huomaa, että käytimme dynaamisia muuttujia muuntamaan merkkijonot samannimisiksi muuttujiksi. Tätä tekniikkaa tutkimme luvussa 4, Lohkojen rakentaminen. Kuva 13.1 esittää listauksen 13.1 tulostuksen. Kuvan 13.1 tieto generoitiin, kun skriptiä kutsuttiin toisella sivulla olevasta linkistä käsin. Kutsulinkki näytti seuraavalta: <A HREF='eg13.1.php/my_path_info?query_key=query_value'>go</A> Kuten näet, linkki käyttää suhteellista polkua kutsuessaan tiedostoa listing13.1.php. Lisätietoa polusta (my_path_info) lisätään asiakirjan nimen perään; lisätieto on muuttujassa $PATH_INFO. Olemme laittaneet kyselymerkkijonon (query string) tekstinä suoraan linkkiin ja se on saatavilla muuttujassa $QUERY_STRING. Useimmiten käytät kyselymerkkijonoa silloin, kun lomake lähetetään GET-metodilla, mutta voit tietenkin aina rakentaa omia kyselymerkkijonojasi viedäksesi informaatiota sivulta toiselle. Kyselymerkkijono koostuu nimi/arvo-pareista, jotka erotetaan toisistaan et-merkeillä (&). Nuo parit on URLkoodattu, jolloin jokainen laiton merkki tai merkki, jolla on HTML-merkitys, kirjoitetaan heksadesimaalimuodossa. Vaikka koko kyselymerkkijono on ympäristömuuttujassa $QUERY_STRING, tarvitset sitä harvoin. Jokainen avaimen nimi muodostaa aina oman globaalin muuttujansa, jonka sisällä on vastaava arvonsa. KUVA 13.1 Joidenkin ympäristömuuttujien tulostaminen selaimelle. Ympäristömuuttuja $HTTP_REFERER voi olla hyödyllinen, jos haluat seurata, mistä linkeistä käsin skriptisi suoritetaan. Muista kuitenkin, että tämä ja muut ympäristömuuttujat voidaan helposti kumota. Saat lisätietoa asiasta myöhemmin tässä luvussa. Koska asian korjaaminen aiheuttaisi yhteensopivuusongelmia, meidän on pysyttäydyttävä virheellisessä referrer -kirjoitustavassa. Kaikki selaimet eivät tue tätä otsikkoa, joten sen varaan ei kannata laskea liikaa. Voit jäsennellä $HTTP_USER_AGENT-muuttujan saadaksesi esille alustan ja selaimen. Tämäkin muuttuja voidaan kumota. Muuttuja voi olla hyödyllinen, jos haluat käyttää selain- tai selainversiokohtaista HTMLkoodia tai JavaScript-koodia. Luvussa 17, Merkkijonojen käsittely, ja luvussa 18, Säännöllisten lausekkeiden käyttäminen, sinulle annetaan työkaluja, joilla voit ottaa esille haluamasi tiedot tästä merkkijonosta. Ympäristömuuttuja $REMOTE_ADDR sisältää käyttäjän IP-osoitteen ja sillä voidaan jäljittää vierailijoita. Muista kuitenkin, että monilla Web-käyttäjillä ei ole kiinteää IP-osoitetta. Sen sijaan heidän Internetpalveluntarjoajansa antavat heille dynaamiset IP-osoitteet kytkeytymisen yhteydessä. Sama IP-osoite voi siis olla eri käyttäjien käytössä eri aikoina. $REMOTE_HOST ei ehkä ole käytettävissä; asia riippuu palvelinasetuksista. Muuttujaan tallennetaan käyttäjän isäntänimi. Muuttujan läsnäolo vaatii sen, että palvelin hakee isäntänimen jokaiselle pyynnölle, joten
4 Pintaa syvemmältä muuttuja on ehkä otettu pois käytöstä tehokkuussyistä. Jos muuttuja ei ole saatavilla, voit saada vastaavat tiedot esille muuttujan $REMOTE_ADDR-arvon kautta. Asiaa käsitellään tarkemmin myöhemmin tässä luvussa. Lyhyt yhteenveto asiakas/palvelin-keskustelusta Palvelimen ja asiakkaan välinen tiedonsiirto asiakaspyynnön tekemisen yhteydessä on tämän kirjan aihealueen ulkopuolella. Lisäksi PHP hoitaa useimmat asiaan liittyvät detaljit puolestasi. Sinun on kuitenkin hyvä tietää perusasiat tästä prosessista, etenkin, jos aiot kirjoittaa skriptejä, jotka noutavat Web-sivuja tai tarkistavat Web-osoitteiden tilan. HTTP tulee sanoista Hypertext Transfer Protocol. Kyseessä on joukko sääntöjä, jotka määrittelevät prosessin, jossa asiakas lähettää pyynnön ja palvelin palauttaa vastauksen. Sekä asiakas että palvelin antavat informaatiota itsestään sekä siirrettävästä tiedosta. Suuri osa tuosta tiedosta on saatavilla ympäristömuuttujissa. Pyyntö Asiakas pyytää tietoa palvelimelta tiettyjen tarkkojen sääntöjen puitteissa. Pyyntö koostuu kolmesta eri komponentista: Pyyntörivistä Otsikko-osasta Tietoyksiköstä Pyyntörivi on pakollinen. Se koostuu pyyntömetodista, joka on tyypillisesti GET, HEAD tai POST, pyydettävän asiakirjan osoitteesta ja HTTP-versiotiedoista (HTTP/1.0 tai HTTP/1.1). Tyypillinen mydoc.html-nimisen asiakirjan pyyntö saattaisi näyttää seuraavalta: GET /mydoc.html HTTP/1.0 Asiakas tekee GET-pyynnön. Toisin sanoen se pyytää koko asiakirjaa, mutta ei lähetä itse mitään tietoa (itse asiassa se voi lähettää pieniä määriä tietoa GET-pyyntöjen yhteydessä lisäämällä kyselymerkkijonon URL:n perään). HEAD-metodi voi olla hyödyllinen, jos haluat vain tietoa asiakirjasta. POST-metodia käytetään siirtämään tietoa asiakkaalta palvelimelle; useimmiten on kyseessä HTML-lomake. Pelkkä pyyntörivi riittää tekemään sopivan GET-pyynnön. Lähettämällä palvelimelle tyhjä rivi kerrotaan, että pyyntö on tehty. Useimmat asiakkaat lisäävät pyyntörivin jälkeen otsikko-osan, jossa on nimi/arvo-pareja. Jotkut noista tiedoista ovat saatavilla ympäristömuuttujissa. Kukin asiakkaan otsikko koostuu rivillä olevasta avaimesta ja arvosta; erottimena on kaksoispiste. Taulukko 13.2 luettelee muutamia otsikkotietoja. Taulukko 13.2 Joitakin asiakkaan lähettämiä otsikoita Nimi Selitys Accept Asiakkaan hyväksymät mediatyypit Accept-Encoding Asiakkaan hyväksymät tiedon tiivistämistavat Accept-Charset Asiakkaan ensisijaiset merkistöt
5 13. Pintaa syvemmältä 237 Accept-Language Host Referer User-Agent Asiakkaan ensisijainen kieli ( en tarkoittaa englannin kieltä) Isäntäkone, johon pyyntö kohdistuu. Jotkin palvelimet, joilla on useita virtuaalipalvelimia, tukeutuvat voimakkaasti tähän otsikkoon. Asiakirja, josta käsin pyyntö tehtiin Asiakastyyppi ja versio GET- ja POST-metodien kohdalla otsikkojaksot päättävät pyynnön ja tyhjä rivi lähetetään lopuksi palvelimelle. POST-metodia käytettäessä tyhjän rivin jälkeen on yksikön runko. Se koostuu kaikesta palvelimelle lähetettävästä tiedosta. Useimmiten kyseessä on URL-koodattuja nimi/arvo-pareja, jotka ovat samanlaisia kuin kyselymerkkijonossa. Listaus 13.2 esittää pyynnön palvelimelle Netscapen 4.6-selaimella. Listaus 13.2 Tyypilliset asiakkaan otsikkotiedot lähetettyina Netscape-selaimella GET / HTTP/1.0 Referer: Connection: Keep-Alive User-Agent: Mozilla/4.6 (X11; I; Linux apmac ppc) Host: Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso ,*,utf-8 Vastaus Kun palvelin on saanut asiakkaan pyynnön, se lähettää vastauksen takaisin asiakkaalle. Vastaus koostuu yleensä kolmesta osasta: Tilarivistä Otsikko-osasta Yksikön rungosta Kuten näet, pyynnön ja vastauksen välillä on paljon yhteneväisyyksiä. Itse asiassa tietyt otsikot voidaan lähettää joko asiakkaan tai palvelimen toimesta, erityisesti yksikön runkoa koskevat tiedot. Tilarivi koostuu HTTP-versiosta, jota palvelin käyttää (HTTP/1.0 tai HTTP/1.1), vastauskoodista ja viestistä, joka kertoo vastauskoodin merkityksen. Palvelin voi lähettää asiakkaalle useita eri vastauskoodeja. Kukin koodi antaa tietoa pyynnön käsittelyn onnistumisesta. Taulukko 13.3 luettelee joitakin yleisiä vastauskoodeja.
6 Pintaa syvemmältä TAULUKKO 13.3 Joitakin vastauskoodeja Koodi Teksti Selitys 200 OK Pyyntö onnistui, ja tieto tulee mukana. 301 Moved permanently Pyydettyä tietoa ei enää ole palvelimella. Sijaintiotsikossa (location) on uusi osoite. 302 Moved temporarily Pyydetty tieto on siirretty. Sijaintiotsikossa (location) on uusi osoite. 404 Not Found Tietoa ei löydy annetusta osoitteesta. 500 Internal Server Error Palvelin tai CGI-skripti on kohdannut vakavan ongelman yrittäessään käsitellä tietoa. Tyypillinen vastausrivi näyttää seuraavalta: HTTP/ OK Otsikko-osa sisältää joukon vastausotsikoita, jotka on muotoiltu samalla lailla kuin pyynnön otsikot. Taulukko 13.4 luettelee joitakin otsikoita, jotka palvelin lähettää. Taulukko 13.4 Joitakin yleisiä palvelinotsikoita Nimi Tarkoitus Date Nykyinen päivämäärä Server Palvelimen nimi ja versio Content-Type Sisällön MIME-tyyppi Content-Length Sisällön koko tavuina Location Vaihtoehtoisen asiakirjan koko osoite Sen jälkeen kun otsikot on lähetetty, palvelin lähettää tyhjän rivin asiakkaalle; tyhjän rivin jälkeen tulee itse sisältö eli haettava kohde. Listaus 13.3 esittää tyypillisen palvelinvastineen. LISTAUS 13.3 Palvelinpyyntö 1: HTTP/ OK 2: Date: Sun, 30 Jan :02:20 GMT 3: Server: Apache/1.3.9 (UNIX) 4: Connection: close 5: Content-Type: text/html 6: 7: <html> 8: <head> 9: <title>listing 13.3 A server response</title> 10: </head>
7 13. Pintaa syvemmältä : <body> 12: Hello 13: </body> 14: </html> Asiakirjan saaminen etäosoitteesta Vaikka PHP onkin palvelinpuolen kieli, se voi toimia asiakkaana ja pyytää tietoa etäpalvelimilta sekä laittaa tulokset skriptiesi saataville. Jos osaat jo lukea tiedostoja palvelimelta, sinulla ei ole mitään vaikeuksia käyttää PHP:tä tiedon saamiseen Webistä. Itse asiassa syntaksi on aivan sama. Voit käyttää fopen()- funktiota luodaksesi yhteyden Web-osoitteeseen samalla lailla kuin tiedostojen kohdalla. Listaus 13.4 avaa yhteyden etäpalvelimelle ja pyytää sivua sekä esittää tulokset selaimelle. Listaus 13.4 Web-sivun sieppaaminen fopen()-funktiolla 1: <html> 2: <head> 3: <title>listing 13.4 Getting and printing a web page with fopen()</title> 4: </head> 5: <body> 6: <?php 7: $webpage = " 8: $fp = fopen( $webpage, "r" ) or die("couldn't open $webpage"); 9: while (! feof( $fp )) 10: print fgets( $fp, 1024 ); 11:?> 12: </body> 13: </html> Kun skripti ajetaan, tuloksena tulisi olla PHP-kotisivu. Huomaa, että sivulla olevat kuvat eivät näy. Se johtuu siitä, että IMG-elementeissä olevat polut kuviin ovat yleensä suhteellisia. Kun skripti tulostaa lataamansa tiedon, käyttäjän selain hakee palvelimelta viitattuja kuvia. Voisimme ohittaa tuon ongelman lisäämällä seuraavan tagin skriptin HEAD-elementtiin: <base href=" Yleensä et varmaankaan halua tulostaa koko sivua selaimelle. Useimmiten haluat jäsennellä lataamaasi asiakirjaa. Funktio fopen() palauttaa tiedosto-osoittimen, jos yhteyden luonti onnistuu ja arvon false, jos yhteyttä ei voitu luoda tai sivua ei ole olemassa. Kun olet saanut tiedosto-osoittimen, voit käyttää sitä
8 Pintaa syvemmältä normaalisti tiedoston lukemiseen. PHP esittelee itsensä etäpalvelimelle asiakkaana. Omassa järjestelmässäni se lähettää seuraavan pyynnön: GET / HTTP/1.0 Host: User-Agent: PHP/4.0b3 Tämä prosessi on yksinkertainen ja juuri tätä lähestymistapaa käytät useimmiten Web-sivujen käsittelyssä. Saatat haluta kytkeytyä kuitenkin muihin verkkopalveluihin tai oppia enemmän Web-asiakirjasta jäsentelemällä palvelinotsikoita. Asiaa käsitellään myöhemmin tässä luvussa. IP-osoitteiden ja isäntänimien muuntaminen Vaikka palvelimesi ei sallisikaan $REMOTE_HOST-muuttujan käyttöä, saat luultavasti tietää vierailijan IPosoitteen $REMOTE_ADDR-ympäristömuuttujan avulla. Voit käyttää sitä gethostbyaddr()-funktion selvittämään käyttäjän koneen nimi. Funktio ottaa argumentikseen merkkijonon, joka edustaa IP-osoitetta ja palauttaa isäntänimen. Jos virhe tapahtuu, se palauttaa annetun IP-osoitteen. Listaus 13.5 sisältää skriptin, joka käyttää gethostbyaddr()-funktiota koneen nimen selville saamiseen siinä tapauksessa, että $REMOTE_HOST-muuttuja ei ole saatavilla. Listaus 13.5 Funktion gethostbyaddr() käyttö koneen nimen selvittämiseen 1: <html> 2: <head> 3: <title>listing 13.5 Using gethostbyaddr() to get a host name</title> 4: </head> 5: <body> 6: <?php 7: if ( isset( $REMOTE_HOST ) ) 8: print "Hello visitor at $REMOTE_HOST<br>"; 9: elseif ( isset ( $REMOTE_ADDR ) ) 10: print "Hello visitor at ".gethostbyaddr( $REMOTE_ADDR )."<br>"; 11: else 12: print "Hello you, wherever you are<br>"; 13:?> 14: </body> 15: </html>
9 13. Pintaa syvemmältä 241 Jos $REMOTE_HOST on saatavilla, voimme yksinkertaisesti vain tulostaa sen arvon selaimelle. Muutoin, jos saatavilla on $REMOTE_ADDR-muuttuja, yritämme selvittää koneen nimen gethostbyaddr()-funktiolla. Jos epäonnistumme, tulostamme yleisen tervetulotoivotuksen. Voit muuntaa konenimen IP-osoitteeksi funktiolla gethostbyname(). Tuo funktio vaatii argumentikseen konenimen ja palauttaa IP-osoitteen. Jos virhe tapahtuu, se palauttaa argumenttina olleen koneen nimen. Verkkoyhteyden toteuttaminen Toistaiseksi kaikki on ollut helppoa, sillä PHP:n ansiosta etäpalvelimella olevaa Web-sivua voidaan työstää yhtä helposti kuin omassa järjestelmässä olevaa sivua. Joskus on kuitenkin oltava hieman tarkempi verkkoyhteyden suhteen tai ainakin saatava siitä enemmän tietoa. Yhteys Internet-palvelimelle voidaan toteuttaa fsockopen()-funktiolla, joka vaatii isäntänimen tai IPosoitteen, portin numeron ja kaksi viittausmuuttujaa. Muista, että viittaus toteutetaan sijoittamalla et-merkki muuttujan nimen eteen. Viittausmuuttujat, jotka viedään fsockopen()-funktiolle, tallentavat lisätietoa yhteyden yrityksestä, jos yhteydenotto ei onnistu. Funktiolle voidaan myös viedä valinnainen aikaraja, joka määrittää, kuinka kauan fsockopen() odottaa (sekunneissa) ennen kuin se lopettaa yhteydenoton yrittämisen. Jos yhteys onnistuu, palautetaan tiedosto-osoitin. Muutoin palautetaan false-arvo. Seuraava koodi alustaa yhteyden Web-palvelimelle: $fp = fsockopen( " 80, &$errno, &errdesc, 30 ); Arvo 80 on tavallinen porttinumero, jota Web-palvelin kuuntelee. Ensimmäinen viittausmuuttuja $errno sisältää virhenumeron, jos yhteys ei onnistu, ja $errdesc voi sisältää lisätietoa virheestä. Kun tiedosto-osoitin on saatu, voit sekä kirjoittaa yhteyteen fputs()-funktiolla että lukea siitä fgets()-funktiolla, kuten tiedostojen kohdalla yleensä tehtäisiin. Kun yhteyttä ei enää tarvita, se lopetetaan fclose()-funktiolla. Meillä on nyt tarpeeksi tietoa alustaaksemme oman yhteytemme Web-palvelimelle. Listaus 13.6 toteuttaa http-yhteyden, palauttaa sivun ja tallentaa sen muuttujaan. Listaus 13.6 Web-sivun palauttaminen fsockopen()-funktiolla 1: <html> 2: <head> 3: <title>listing 13.6 Retrieving a Web page using fsockopen()</title> 4: </head> 5: <body> 6: <?php 7: $host = " 8: $page = "/index.html"; 9: $fp = fsockopen( "$host", 80, &$errno, &$errdesc); 10: if (! $fp )
10 Pintaa syvemmältä 11: die ( "Couldn't connect to $host:\nerror: $errno\ndesc: $errdesc\n" ); 12: 13: $request = "GET $page HTTP/1.0\r\n"; 14: $request.= "Host: $host\r\n"; 15: $request.= "Referer: 16: $request.= "User-Agent: PHP test client\r\n\r\n"; 17: $page = array(); 18: fputs ( $fp, $request ); 19: while (! feof( $fp ) ) 20: $page[] = fgets( $fp, 1024 ); 21: fclose( $fp );print "the server returned ".(count($page))." lines!"; 22:?> 23: </body> 24: </html> Huomaa pyyntöotsikot, jotka lähetetään palvelimelle. Etäkoneen hallintahenkilö näkee arvon, joka lähetetään User-Agent-otsikossa omassa kirjaustiedostossaan. Hän voi myös olettaa, että vierailija kytkeytyi osoitteesta Siitä syystä joidenkin ympäristömuuttujien suhteen on oltava varovainen. Kohtele niitä tukevina aputyökaluina, älä aseta niille liikaa painoarvoa. On joitakin hyväksyttyjä syitä, joiden vuoksi saattaisit haluta muokata joitakin otsikoita. Sinun on ehkä jäsenneltävä jotain tietoa, joka lähetetään vain Netscape-yhteensopiville selaimille. Ainoa keino tehdä se on sisällyttää sana Mozilla User-Agent-otsikkoon. Kaikesta huolimatta kannattaa pitää hallintahenkilön puolta. Toimintaan vaikuttavat päätökset tehdään palvelintilastojen pohjalta, joten älä yritä sotkea tuota informaatiota. Listauksen 13.6 esimerkki pelkästään käyttää PHP:n sisäisiä metodeita Web-sivun saamiseen. Listaus 13.7 käyttää fsockopen()-funktiota tarkistamaan tilakoodit, joita palvelimet palauttavat, kun pyydämme joukon sivuja. Listaus 13.7 Web-palvelimien palauttamien tilarivien tulostaminen 1: <html> 2: <head> 3: <title>listing 13.7 Outputting the status lines returned by web servers</ title> 4: </head> 5: <body> 6: <?php 7: $to_check = array ( " => "/index.html",
11 13. Pintaa syvemmältä 243 8: " => "/notthere.html", 9: " => "/nohost.html" 10: ); 11: foreach ( $to_check as $host => $page ) 12: { 13: $fp = fsockopen( "$host", 80, &$errno, &$errdesc, 10); 14: print "Trying $host<br>\n"; 15: if (! $fp ) 16: { 17: print "Couldn't connect to $host:\n<br>error: $errno\n<br>desc: $errdesc\n"; 18: print "<br><hr><br>\n"; 19: continue; 20: } 21: print "Trying to get $page<br>\n"; 22: fputs( $fp, "HEAD $page HTTP/1.0\r\n\r\n" ); 23: print fgets( $fp, 1024 ); 24: print "<br><br><br>\n"; 25: fclose( $fp ); 26: } 27:?> 28: </body> 29: </html> Loimme assosiatiivisen taulukon palvelinten nimistä ja sivuosoitteista, jotka halusimme tarkistaa. Kävimme taulukon läpi silmukan foreach-lauseella. Jokaisen alkion kohdalla alustimme yhteyden fsockopen()- funktiolla asettaen aikarajaksi 10 sekuntia. Jos yhteys epäonnistuu, tulostamme viestin selaimelle ja käytämme continue-lausetta seuraavaan pariin siirtymiseksi. Jos yhteys onnistuu, lähetämme pyynnön palvelimelle. Käytämme HEAD-metodia, koska emme halua jäsennellä koko runkoa. Funktiolla fgets() saamme tilarivin palvelimelta. Tässä esimerkissä emme käsittele palvelinotsikoita, joten suljemme yhteyden fclose()-funktiolla ja siirrymme listan seuraavaan alkioon. Kuva 13.2 näyttää lisauksen tulostuksen.
12 Pintaa syvemmältä KUVA 13.2 Skripti tulostaa palvelimen vastausotsikot. NNTP-yhteyden luominen fsockopen()-funktiolla Fsockopen()-funktiota voidaan käyttää yhteyden luomiseen mille tahansa Internet-palvelimelle. Listauksessa 13.8 luodaan yhteys NNTP-palvelimelle, joka on siis Usenet-keskusteluryhmäpalvelin. Esimerkki valitsee keskusteluryhmän ja listaa ensimmäisen viestin otsikot. Listaus 13.8 NNTP-perusyhteyden luominen fsockopen()-funktiolla 1: <html> 2: <head> 3: <title>listing 13.8 A basic NNTP connection using fsockopen()</title> 4: </head> 5: <body> 6: <?php 7: $server = "news"; // anna oma news-palvelimesi 8: $group = "alt.test"; 9: $line = ""; 10: print "<pre>\n"; 11: print "-- Trying to connect to $server\n\n"; 12: $fp = fsockopen( "$server", 119, &$error, &$description, 10 ); 13: if (! $fp ) 14: die("couldn't connect to $server\n$errno\n$errdesc\n\n"); 15: print "-- Connected to $server\n\n"; 16: $line = fgets( $fp, 1024 ); 17: $status = explode( " ", $line ); 18: if ( $status[0]!= 200 )
13 13. Pintaa syvemmältä : { 20: fputs( $fp, "close" ); 21: die("error: $line\n\n"); 22: } 23: print "$line\n"; 24: print "-- Selecting $group\n\n"; 25: fputs( $fp, "group alt.test\n" ); 26: $line = fgets( $fp, 1024 ); 27: $status = explode( " ", $line ); 28: if ( $status[0]!= 211 ) 29: { 30: fputs( $fp, "close" ); 31: die("error: $line\n\n"); 32: } 33: print "$line\n"; 34: print "-- Getting headers for first message\n\n"; 35: fputs( $fp, "head\n" ); 36: $line = fgets( $fp, 1024 ); 37: $status = explode( " ", $line ); 38: print "$line\n"; 39: if ( $status[0]!= 221 ) 40: { 41: fputs( $fp, "close" ); 42: die("error: $line\n\n"); 43: } 44: while (! ( strpos($line, ".") === 0 ) ) 45: { 46: $line = fgets( $fp, 1024 ); 47: print $line; 48: } 49: fputs( $fp, "close\n" ); 50: print "</pre>"; 51:?>
14 Pintaa syvemmältä 52: </body> 53: </html> Listauksen 13.8 koodi tekee hieman enemmänkin kuin pelkästään demonstroi sitä, että NNTP-yhteys voidaan luoda fsockopen()-funktiolla. Todellisessa esimerkissä rivin jäsentely tehtäisiin funktiossa, jotta vältyttäisiin toistuvalta koodilta. Funktiota voitaisiin kutsua sitten eri rivien kohdalla lisätietojen saamiseksi palvelimelta. Pyörän uudelleen keksimisen sijaan saattaisi olla hyvä tutkia PHP:n IMAP-funktioita, jotka tekevät suuren osan tuosta työstä puolestasi. Tallennamme palvelimemme isäntänimen muuttujaan $server ja valitsemamme ryhmän muuttujaan $group. Jos haluat ajaa tämän skriptin, sinun tulisi sijoittaa Internet-palveluntarjoajasi news-palvelimen nimi $servermuuttujaan. Käytimme fsockopen()-funktiota kytkeytymään isäntäkoneen porttiin 119, joka yleensä on porttina NNTP-yhteyksille. Jos sopivaa tiedosto-osoitinta ei palauteta, käytämme die()-funktiota virhenumeron ja kuvauksen tulostamiseen selaimelle ja lopetamme skriptin ajamisen. Jos yhteys onnistuu, palvelin lähettää meille vahvistusviestin, joten yritämme saada sen haltuumme fgets()-funktiolla. Jos kaikki onnistuu, tämä merkkijono alkaa tilakoodilla 200. Voimme testata sen käyttämällä explode()-funktiota erottamaan $line-merkkijono taulukkoon välilyönnin toimiessa erottimena. Saat lisätietoa explode()- funktiosta luvusta 17. Jos tämän taulukon ensimmäinen alkio on 200, voimme jatkaa; muutoin lopetamme skriptin. Jos kaikki sujuu odotetusti, lähetämme palvelimelle komennon valita keskusteluryhmä. Jos se onnistuu, palvelin palauttaa merkkijonon, joka alkaa tilakoodilla 211. Testaamme sen ja lopetamme skriptin, jos tilakoodi on jokin muu arvo. Kun olemme nyt valinneet keskusteluryhmämme, lähetämme head-komennon palvelimelle pyytäen ensimmäisen viestin otsikoita. Taaskin me testaamme vastauksen ja etsimme nyt tilakoodia 221. Lopuksi saamme itse otsikon. Palvelimen otsikkolistaus päättyy yksittäiseen pisteeseen (.), joka on omalla rivillään, joten testaamme sen while-lauseessa. Niin kauan kuin palvelimen tulostusrivi ei ala pisteellä, pyydämme ja tulostamme seuraavan rivin. Lopuksi suljemme yhteyden. Kuva 13.3 esittää tyypillisen tulosteen listauksesta KUVA 13.3 NNTP-yhteyden luominen. Sähköpostin lähettäminen mail()-funktiolla PHP osaa lähettää sähköpostia automaattisesti puolestasi. Se tapahtuu mail()-funktiolla, joka ottaa argumenteikseen kolme merkkijonoa: vastaanottajan, aiheen ja viestin. Funktio palauttaa arvon false, jos virheitä tapahtuu. Seuraava koodi lähettää sähköpostia:
15 13. Pintaa syvemmältä 247 $to = "someone@adomain.com"; $subject = "hi"; $message = "just a test message! "; mail( $to, $subject, $message ) or print "Could not send mail"; Jos käytät PHP:tä UNIX-koneessa, mail() käyttää apunaan Sendmail-ohjelmaa. Muissa järjestelmissä funktio kytkeytyy SMTP-palvelimelle, joka voi olla paikallinen tai etäkone. Asetus määritetään SMTPkohdassa php.ini-tiedostossa. Sähköpostin lähetyksessä ei tarvitse rajoittua pelkästään niihin otsikoihin, jotka asetetaan mail()-funktion argumentteina. Mukaan voi laittaa mitä tahansa otsikoita valinnaisessa neljännessä argumentissa. Nämä otsikot tulee erottaa toisistaan merkkijonolla \r\n (kuvaavat vaununpalautusta ja rivinvaihtoa). Seuraavassa esimerkissä laitamme sähköpostiviestiimme From-kentän ja myös X-Priority-otsikon, jonka jotkin asiakkaat tunnistavat: $to = "someone@adomain.com"; $from = "book@corrosive.co.uk"; $subject = "hi"; $message = "just a test message! "; mail( $to, $subject, $message, "$from\r\nx-priority: 1 (Highest)" ) or print "Could not send mail"; Yhteenveto Tällä tunnilla opit käyttämään ympäristömuuttujia, joiden avulla saat lisätietoa sivusi vierailijoista. Jos et saa esille käyttäjän isäntäkoneen nimeä, voit käyttää gethostbyaddr()-funktiota sen saamiseen. Luku kuvasi sinulle myös asiakkaan ja palvelimen käymää keskustelua, kun HTTP-yhteys oli luotu. Tämän lisäksi opit käyttämään fopen()-funktiota asiakirjan hakemiseen Webistä ja fsockopen()-funktiota oman HTTP-yhteyden luomiseen. Tuon funktion avulla voit ottaa yhteyden mihin tahansa Internetpalvelimeen. Luvun lopussa sait tietoa mail()-funktiosta, jolla lähetetään sähköpostia skripteistä käsin. K&V K HTTP näyttää hieman kaukaiselta. Onko minun tosiaankin ymmärrettävä sitä voidakseni kirjoittaa hyvää PHP-koodia? V Ei. Voit aivan hyvin kirjoittaa erinomaista koodia tietämättä juuri mitään asiakkaan ja palvelimen välisestä kommunikoinnista. Toisaalta prosessin ymmärtäminen on hyödyllistä, jos haluat tehdä muutakin kuin vain ladata sivuja etäpalvelimilta.
16 Pintaa syvemmältä K Jos lähetän muokattuja otsikoita etäpalvelimelle, tulisiko minun luottaa ympäristömuuttujiin? V Sinun ei tulisi luottaa sellaisiin ympäristömuuttujiin kuin esimerkiksi $HTTP_REFERRER tai $HTTP_USER_AGENT, jos niiden tarkkuus on olennaista skriptisi toiminnalle. Muista kuitenkin, että suurin osa asiakkaistasi kertoo sinulle totuuden. Jos haluat taata toimivuuden pelkästään tutkimalla, mitä selainta käyttäjä käyttää tai kerätäksesi tilastotietoa, ei ole mitään syytä hyljeksiä tuota tietoa. Työpaja Työpaja tarjoaa pikakysymyksiä, joiden avulla voit kerrata läpikäytyä materiaalia. Yritä ymmärtää vastaukset ennen kuin jatkat seuraavaan lukuun. Vastaukset annetaan liitteessä A. Kysymyksiä 1. Mikä ympäristömuuttuja antaisi viittaavan sivun URL:n? 2. Miksi et voi luottaa $REMOTE_ADDR-muuttujaan jäljittääksesi yksittäisen käyttäjän monien skriptisi käyttäjien joukosta? 3. Mitä HTTP tarkoittaa? 4. Mikä asiakkaan otsikkorivi kertoo palvelimelle selaimen, joka tekee pyynnön? 5. Mitä palvelimen vastauskoodi 404 tarkoittaa? 6. Mitä funktiota voisit käyttää ottaaksesi esille Web-sivun etäpalvelimelta tekemättä omaa verkkoyhteyttä? 7. Jos käytössäsi on IP-osoite, mikä funktio antaisi palvelimen nimen? 8. Mikä funktio luo verkkoyhteyden? 9. Millä PHP-funktiolla voit lähettää ia? Toiminta 1. Luo skripti, joka hyväksyy Web-palvelimen nimen (esimerkiksi nimen ) syöttötiedoikseen. Lähetä palvelimelle HEAD-pyyntö käyttäen fsockopen()-funktiota, jolla yhteys luodaan. Tulosta vastaus selaimelle. Muista ottaa huomioon mahdollisuus, että yhteyden luonti ei onnistu. 2. Luo skripti, joka ottaa vastaan viestin käyttäjältä ja lähettää sen sinulle. Lisää käyttäjän viestiin ympäristömuuttujia, jotka kertovat käyttäjän selaimen ja IP-osoitteen.
Taustaa. CGI-ohjelmointi
Taustaa CGI-ohjelmointi CGI = Common Gateway Interface Hyvin yksinkertainen ja helppo tapa toteuttaa dynaamisuutta ja interaktivisuutta htmldokumentteihin Kehitetty tiedon siirtoon palvelimen ja asiakasselaimen
OPPITUNTI 19 Tilan tallentaminen evästeiden ja kyselymerkkijonojen avulla
19. Tilan tallentaminen evästeiden ja kyselymerkkijonojen avulla 337 OPPITUNTI 19 Tilan tallentaminen evästeiden ja kyselymerkkijonojen avulla HTTP on tilaton protokolla. Se merkitsee sitä, että jokainen
OPPITUNTI 3 Ensimmäinen skripti
3. Ensimmäinen skripti 35 OPPITUNTI 3 Ensimmäinen skripti Kun olet asentanut PHP:n ja asettanut sen kokoonpanon, on aika laittaa ohjelmisto testaukseen. Tällä tunnilla luot ensimmäisen skriptisi ja tutkit
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla
Ohjeita peda.net palvelun Luo uusi osioon
Ohjeita peda.net palvelun Luo uusi osioon - Elikkä tuo kyseinen kohta löytyy omalta sivultasi oikeasta ylä-laidasta, kuten alla näkyvästä kuvasta näkyy. Sekä tuo kyseinen kohta näkyy luokkien sivuilla
Harjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.
PHP-kielen perusteet Käytä lähteenä PHP:n virallista manuaalia http://www.php.net/docs.php tai http://www.hudzilla.org/php (siirry Paul Hudsonin verkkokirjaan). Lisää materiaalia suomeksi esimerkiksi ohjelmointiputkan
Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje
Muistio 1 (7) Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Sisällys 1 Johdanto... 1 2 Suojatun viestin vastaanottaminen... 1 3 Suojatun viestin lukeminen... 2 4 Vastaanotetun
AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML
AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen
T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot
T-111.361 Hypermediadokumentin laatiminen -Ohjelmointi Peruskäsitys www-ohjelmoinnin kentästä Tekniikat interaktiivisuuden toteuttamiseen tekniikat tekniikat Tietokannat Juha Laitinen TKK/TML juha.laitinen@hut.fi
K U U L A L A A K E R I LUOTTAMUKSELLINEN 1(6)
K U U L A L A A K E R I LUOTTAMUKSELLINEN 1(6) Messto HTTP API Messto HTTP API on sovelluskehittäjiä varten kehitetty helppo tapa toteuttaa tekstiviesti- ja multimediaviestisovelluksia. Rajapinnan avulla
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje
Ohje 1 (10) Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Sisällys 1 Johdanto... 1 2 Suojatun viestin vastaanottaminen... 1 3 Suojatun viestin lukeminen... 2 4 Vastaanotetun
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 16.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 16.2.2010 1 / 41 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
SeaMonkey pikaopas - 1
SeaMonkey pikaopas SeaMonkey on ilmainen ja yksinkertainen www-sivujen teko-ohjelma. Sillä on kätevää koostaa yksinkertaisia sivuja ilman, että täytyy tietää jotain HTML-koodista. Tämä opas esittelee sivuston
Digitaalisen median tekniikat, k2004 HY/TKTL, palvelinohjelmointi_1 21/04/2004. Harri Laine 1. Palvelinohjelmointi. Staattinen www-sivu
Digitaalisen median tekniikat Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu voi muodostua monesta osasta, esimerkiksi kuvat ovat eri tiedostoja
Miten Internet toimii. Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät 2013
Miten Internet toimii Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät 2013 Luennon sisältö 1. Esimerkki 1: nettiselailu 2. Esimerkki 2: sähköposti 3. Internetin protokollapino 2 ESIMERKKI 1: NETTISELAILU
Digitaalisen median tekniikat. Palvelinohjelmointi Harri Laine 1
Digitaalisen median tekniikat Palvelinohjelmointi 21.4.2004 Harri Laine 1 Palvelinohjelmointi Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu
Digitaalisen median tekniikat. Palvelinohjelmointi
Digitaalisen median tekniikat Palvelinohjelmointi 21.4.2004 Harri Laine 1 Palvelinohjelmointi Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu
OPPITUNTI 21 Palvelinympäristö
21. Palvelinympäristö 365 OPPITUNTI 21 Palvelinympäristö Edellisellä tunnilla tutkimme tekniikoita, joiden avulla voidaan kommunikoida etäkoneiden kanssa ja saada tietoa käyttäjiltä. Tällä tunnilla käsittelemme
Harri Laine 1. Digitaalisen median tekniikat, s2007 HY/TKTL, palvelinohjelmointi_1. Palvelinohjelmointi
Digitaalisen median tekniikat Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu voi muodostua monesta osasta, esimerkiksi kuvat ovat eri tiedostoja
ASCII-taidetta. Intro: Python
Python 1 ASCII-taidetta All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do.
WWW-sivu. Miten Internet toimii? World Wide Web. HTML-koodi. HTTP-istunto URL <#>
WWW-sivu Miten Internet toimii? HTML-koodi World Wide Web Nixu International
Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b
Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
OPPITUNTI 11 DBM-funktioiden käyttö
11. DBM-funktioiden käyttö 193 OPPITUNTI 11 DBM-funktioiden käyttö Jos sinulla ei ole pääsyä SQL-tietokantaan, esimerkiksi MySQL- tai Oracle-tietokantaan, sinulla on varmaankin mahdollisuus käyttää DBM-tyylistä
OPPITUNTI 5 Ohjelman kulku
5. Ohjelman kulku 67 OPPITUNTI 5 Ohjelman kulku Viime tunnilla luomamme skriptit olivat suoraviivaisia. Ohjelmalauseet suoritettiin aina samassa järjestyksessä, joten ohjelmissamme ei ollut lainkaan joustavuutta.
5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:
Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,
OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen
Helsingin yliopisto WebOodi 1 OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen Opetustapahtuman opiskelijalistan tulostaminen Ilmoittautuneista opiskelijoista
IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009
Verkkosivut perinteisesti Tanja Välisalo 11.2.2009 WWW-sivujen vieminen omaan kotisivutilaan yliopiston mikroverkossa https://salasana.jyu.fi Klikkaa painiketta Activate WWW Klikkaa painiketta Activate
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat
MITÄ JAVASCRIPT ON?...3
JavaScript MITÄ JAVASCRIPT ON?...3 YLEISTÄ JAVASCRIPTIN SYNTAKSISTA...3 KÄSKYSANAT JA MUUT VARATUT SANAT...3 MUUTTUJIEN, FUNKTIOIDEN JA LUOKKIEN NIMISSÄ...3 HTML-TAGEIHIN VIITTAAVISSA METODINIMISSÄ...3
ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
Lyseopaneeli 2.0. Käyttäjän opas
Lyseopaneeli 2.0 Käyttäjän opas 1. Esittely Lyseopaneeli on Oulun Lyseon lukion käyttäjätietojen hallintapalvelu jonka tarkoitus on niputtaa yhteen muutamia oleellisia toimintoja. 2. Yleistä paneelin käytöstä
6. Funktiot 85. Kuinka funktioita määritellään ja kutsutaan. Kuinka funktioille viedään arvoja ja niistä palautetaan arvoja
6. Funktiot 85 OPPITUNTI 6 Funktiot Funktiot ovat hyvin laaditun skriptin perusta. Ne tekevät koodista helppolukuista ja uudelleen käytettävää. Laajoja projekteja on mahdotonta hallita ilman funktioiden
NÄIN TEET VIDEO-MAILIN (v-mail)
1 NÄIN TEET VIDEO-MAILIN (v-mail) Kirjaudu iwowwe Back Officeen. HOME Klikkaa kotisivullasi (HOME) olevaa vihreää Video E-mail kuvaa Vastaava linkki Video Email on myös Video Tools - alasvetovalikossa
Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012
Tiedostot Uudet ominaisuudet: - Ei Tiedostot-kohtaa alueen sisällä, vaan tiedostonvalitsin, jolla tiedostot tuodaan alueelle siihen kohtaan missä ne näytetään - Firefox-selaimella voi työpöydältä raahata
KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille
KServer Etäohjaus 1 (5) KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille Palvelimen toteutuksen ollessa versio 1.0, spesifikaation versio 1.0.0. 2009, Riku Eskelinen/ KServer Software Development
WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY
1 WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY 10.4.2015 Lounea Oy Tehdaskatu 6, 24100 Salo Puh. 029 707 00 Y-tunnus 0139471-8 www.lounea.fi Asiakaspalvelu 0800 303 00 Yrityspalvelu 0800 303 01 Myymälät 0800 303
Hops-ohjaajan ohje Opiskelijan hopsit.
Hops-ohjaajan ohje Tässä ohjeessa kuvataan kaksi erilaista tapaa hakea tietyn opiskelijan lähettämä hops. Ensin ohjeistetaan miten toimitaan, jos hopsin ryhmätyökalu on käytössä, eli ohjaajalle on luotu
OPPITUNTI 10 Tiedostojen käsittely
10. Tiedostojen käsittely 173 OPPITUNTI 10 Tiedostojen käsittely Tiedostojen testaaminen, lukeminen ja kirjoittaminen ovat yleisiä toimenpiteitä käytännön ohjelmissa ja niitä vastaava tekniikka on mukana
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla
20. Tilan tallentaminen istuntofunktiolla 353 OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla Edellisellä tunnilla tutkimme tilan tallentamista evästeiden ja kyselymerkkijonojen avulla. PHP4 on kuitenkin
SSH Secure Shell & SSH File Transfer
SSH Secure Shell & SSH File Transfer TIETOHALLINTO Janne Suvanto 1.9 2002 Sisällysluettelo Sisällysluettelo... 1 Yleistä... 2 SSH Secure Shell ohjelman asetukset... 3 POP3 tunnelin asetukset... 6 Yhteyden
Sosiaalihuollon asiakastiedon arkiston validointipalvelu. Käyttöohje
Sosiaalihuollon asiakastiedon arkiston validointipalvelu Käyttöohje Sisällys 1 Johdanto 3 2 Käyttötarkoitus 3 3 Palvelut 3 3.1 HL7 V3 Medical Records sanoman skeemavalidointi 3 3.2 HL7 V3 Medical Records
Sonera Viestintäpalvelu VIP VIP Laajennettu raportointi Ohje
Sonera Viestintäpalvelu VIP VIP Laajennettu raportointi Ohje Sisällysluettelo VIP Laajennettu raportointi... 3 Luo raportti Laajennetun raportoinnin työkaluilla... 4 Avaa Laajennettu raportointi... 4 Valitse
EKP:N HANKINTAMENETTELYJEN VERKKOPALVELU OSALLISTUMINEN HANKINTAMENETTELYIHIN
Taloushallinnon pääosasto ECB-UNRESTRICTED 8.11.2016 EKP:N HANKINTAMENETTELYJEN VERKKOPALVELU OSALLISTUMINEN HANKINTAMENETTELYIHIN Seuraavassa esitetään ohjeet pyydettyjen tietojen toimittamiseen EKP:n
Ilmoitus saapuneesta turvasähköpostiviestistä
Tullin turvasähköposti Asiakkaan ohje www.tulli.fi versio 2.2 8.1.2015 Korvaa version 2.1 22.5.2014 Tullin turvasähköposti Tulli lähettää sinulle sähköpostiviestin salattuna silloin, kun viesti tai sen
6. Valitse avautuneesta ikkunasta Add-painike!
1. Tallenna Mirc ohjelma koneellesi tästä osoitteesta: http://www.mirc.com/get.html 2. Asenna ohjelma 3. Avaa ohjelma mirc.exe kuvakkeesta 4. Avattuasi ohjelman se näyttää tältä(hieman leikeltynä): 5.
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta
Luento 5. Timo Savola. 28. huhtikuuta 2006
UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke
ALVin käyttöohjeet. Kuvaus, rajaus ja tallennus puhelimella ALVin -mobiilisovelluksen avulla dokumentit kuvataan, rajataan ja tallennetaan palveluun.
ALVin käyttöohjeet Nämä käyttöohjeet sisältävät hyödyllisiä vinkkejä palvelun käyttöön. Ne kannattaa lukea ennen palvelun käyttöä. Jos kuitenkin kohtaat ongelmia etkä löydä niihin ratkaisua näistä käyttöohjeista
Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne
Kotisivuohjeet Tässä ohjeessa käydään läpi kotisivujen tekemisen perusteet keskittyen html-koodiin ja sen ominaisuuksiin. Sivupohjissa ulkoasu ja rakenne on pääasiassa jaettu erilliseen css-tyylitiedostoon,
Sivuston tiedotakcpshop.de.websiteoutlook.com
Sivuston tiedotakcpshop.de.websiteoutlook.com Luotu Heinäkuu 19 2019 10:32 AM Pisteet67/100 SEO Sisältö Otsikko Akcp-shop : AKCP SHOP Online Shop für sensorprobe, securityprobe und AKCP Sensoren Pituus
Sivuston tiedotmysiteworthcheck.com
Sivuston tiedotmysiteworthcheck.com Luotu Huhtikuu 26 2019 09:24 AM Pisteet59/100 SEO Sisältö Otsikko Check you website value Pituus : 23 Täydellistä, otsikkosi sisältää väliltä 10 ja 70 kirjainta. Kuvaus
MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT
MOBISITE-TYÖKALU MobiSite on työkalu matkapuhelimeen soveltuvan mobiilisivuston rakentamiseen. AIMO-järjestelmän jatkuvasti päivittyvä päätelaitetunnistus tunnistaa useimmat puhelinmallit ja mukauttaa
Kypsyysnäytteen laatiminen ja arvioiminen Examissa
Kypsyysnäytteen laatiminen ja arvioiminen Examissa Käytä EXAM:issa Firefox tai Chrome selainta. Järjestelmän www-osoite opettajille ja opiskelijoille on https://exam.utu.fi Kypsyysnäytteen voit osoittaa
Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla
Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,
Android. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Android 4.0.3 Ice Cream Sandwichissä.
Y K S I K Ä Ä N A S I A K A S E I O L E M E I L L E LI I A N P I E NI TAI M I K Ä Ä N H A A S T E LI I A N S U U R I. Android Sähköpostin määritys Määrittämällä sähköpostitilisi Android-laitteeseesi, voit
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman
1 PHP-sovelluksen toiminta
AMVA48-49 HTML ja PHP-ohjelmointi, 2 ov Yleistä kurssista HTMLperusteita PHP-kielen perusrakenteet HTMLlomakkeen käsittely Tiedoston käsittely Evästeiden käyttö Istunnon hallinta Oppimistehtävät PHP-KIELEN
Zeon PDF Driver Trial
Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin
Käytin tehtävän tekemiseen Xubuntu 13.04 -käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.
Tehtävänanto - Asenna ja testaa LAMP - Aiheuta vähintään 3 virhettä ja analysoi lokista - Tee nimipohjainen virtuaalipalvelin, joissa toimii myös www. (Karvinen, T. 23.09.2013) Työympäristö Tein tehtävän
Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola
Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola 26.8.2016 SISÄLLYSLUETTELO 1. Omat asetukset kuntoon (kaikkien tehtävä aluksi) sivut 3-5 2. Tärkeiden sivujen tilaaminen omiin linkkeihin sivut
815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/
Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen
Enigmail-opas Enigmail on Mozilla Thunderbird ja Mozilla Seamonkey -ohjelmille tehty liitännäinen GPG-salausohjelmiston käyttöä varten. Sitä käytetään etenkin Thunderbirdin kanssa sähköpostin salaamiseen
ohjeita kirjautumiseen ja käyttöön
ohjeita kirjautumiseen ja käyttöön Kirjautumisesta Opiskelijat: kirjaudu aina tietokoneelle wilmatunnuksella etunimi.sukunimi@edu.ekami.fi + wilman salasana Opettajat: kirjaudu luokan opekoneelle @edu.ekami.fi
Sosiaalihuollon asiakastiedon arkiston validointipalvelu
Sosiaalihuollon asiakastiedon arkiston validointipalvelu Käyttöohje, 7.11.2017 Sisällys 1 Johdanto 3 2 Käyttötarkoitus 3 3 Palvelut 3 3.1 Käyttötapa 3 3.2 HL7 V3 Medical Records sanoman skeemavalidointi
Webforum. Version 15.1 uudet ominaisuudet. Päivitetty: 2015-03-28
Webforum Version 15.1 uudet ominaisuudet Päivitetty: 2015-03-28 Sisältö Tietoja tästä dokumentista... 3 Yleistä... 4 Dokumentit... 5 Uudet versiot dokumenttien katseluohjelmista ipadille... 5 Dokumenttien
Webinaariin liittyminen Skype for
Webinaariin liittyminen Skype for Business Web Appin kautta Ohjeet Sähköpostin Liity webinaariin tästä -linkki Kun klikkaat Osallistumisohjeet webinaariin -sähköpostiviestissä olevaa Liity webinaariin
Osa. Listaus 2.1. HELLO.CPP esittelee C++ -ohjelman osat. 14: #include <iostream.h> 15: 16: int main() 17: {
Osa I 2. oppitunti C++-ohjelman osat Ennen kuin menemme yksityiskohtaisemmin sisälle C++-luokkiin, -muuttujiin jne, katsokaamme ensin, millaisista osista C++-ohjelma koostuu. Tämän tunnin aikana opit seuraavat
@PHPOINT / @KOTIPOINT Sähköpostitilin asetukset
1(10) OHJEEN SISÄLTÖ Sivu Sähköpostitilin lisääminen 2 Oletussähköpostiosoitteen muuttaminen 7 Sähköpostiliikenteen käyttäminen suojatulla yhteydellä 9 (Viestintäviraston suositus) 2(10) Sähköpostitilin
Kypsyysnäytteen laatiminen ja arvioiminen Examissa
Kypsyysnäytteen laatiminen ja arvioiminen Examissa Sähköisen tentin järjestelmän EXAMin käyttöön suositellaan Firefox selainta. Järjestelmän www-osoite opettajille ja opiskelijoille on https://exam.utu.fi
Sivuston tiedotqbsupportcustom erservice.com
Sivuston tiedotqbsupportcustom erservice.com Luotu Kesäkuu 04 2019 09:57 AM Pisteet69/100 SEO Sisältö Otsikko Quickbooks Customer Service 800-329-0391 QB Phone Number Pituus : 58 Täydellistä, otsikkosi
OSA III PHP:n käyttö. Oppitunti
OSA III PHP:n käyttö Oppitunti 9. Lomakkeiden käsittely 10. Tiedostojen käsittely 11. DBM-funktioiden käyttö 12. MySQL-tietokantojen integrointi 13. Pintaa syvemmältä 14. Dynaamisten kuvien käsittely 15.
TEHTÄVIEN PALAUTTAMINEN MOODLEEN
TEHTÄVIEN PALAUTTAMINEN MOODLEEN Moodlessa opettaja voi valita tehtävälleen jonkun neljästä erilaisesta tehtävämuodosta: Lähetä yksi tiedosto opiskelija palauttaa yhden tiedoston. Tiedostojen lähetys opiskelija
Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.
StorageIT 2006 varmuuskopiointiohjelman asennusohje. Hyvä asiakkaamme! Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun. Ennen asennuksen aloittamista Varmista, että
Drupal-sivuston hallintaopas
Drupal-sivuston hallintaopas 11.12.2011 1. Sisäänkirjautuminen... 2 2. Sivun luonti... 2 1 1. Sisäänkirjautuminen Kirjautumissivulle pääset osoitteesta http://www.venajaseura.com/user Käyttäjätunnuksesi
Outlook Web App ver 1.2
Outlook Web App ver 1.2 Kirjautuminen Kirjoita selaimen osoiteriville: o365.edu.hel.fi Kirjoita opetuksen verkon tunnuksesi ja salasanasi avautuvalla kirjautumissivulla. Hetken odottelun jälkeen esiin
VIENET JULKAISUJÄRJESTELMÄLLÄ TOTEUTETTUJEN INTERNET-SIVUJEN YLLÄPITO-OHJE
VIENET JULKAISUJÄRJESTELMÄLLÄ TOTEUTETTUJEN INTERNET-SIVUJEN YLLÄPITO-OHJE JULKAISUJÄRJESTELMÄÄN KIRJAUTUMINEN. Osoitekenttään kirjoitetaan www.domain.fi/admin. Kirjoita käyttäjätunnus: xxxxxx. Salasana:
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
Open Badge -osaamismerkit
Open Badge -osaamismerkit Merkin vastaanottaminen 2 "#$%&'()$*+,''-.,-$/0.1 "#$%&&'$ =>;+?.@@'A$/,+%'*1B%%B0,$%@B+-.%$% C 2>D./E'B1B-.%$%;+?.@@'&'()$&'F0#'F0..% G C>"#$%&'()$H'F1+/I,1'-IJ%%$1I%"#$%&'()$*+,''-.,-$/0.%
Yhdistäminen. Tietolähteen luominen. Word-taulukko. Joukkokirje, osoitetarrat Työvälineohjelmistot 1(5)
Työvälineohjelmistot 1(5) Yhdistäminen Yhdistämistoiminnolla voidaan tehdä esimerkiksi joukkokirjeitä, osoitetarroja, kirjekuoria, jne. Siinä yhdistetään kaksi tiedostoa: Pääasiakirja Tietolähde Pääasiakirjassa
Internet ja tietoverkot 2015 Harjoitus 7: Kertaus
Internet ja tietoverkot 2015 Harjoitus 7: Kertaus Tämän harjoituksen tarkoituksena on hieman kerrata TCP/IP-kerrosmallin sovelluskerroksen, kuljetuskerroksen, internet-kerroksen ja siirtoyhteyskerroksen
Oma kartta Google Maps -palveluun
TAMPERE 1 (6) Oma kartta Google Maps -palveluun Google Maps palveluun on mahdollista luoda karttoja omilla paikkamerkeillä. Tilin luonti Google-palveluihin Tehdäksesi karttoja omilla paikkamerkinnöillä,
Sivuston tiedotsiteoptimer.com
Sivuston tiedotsiteoptimer.com Luotu Helmikuu 22 2019 07:16 AM Pisteet65/100 SEO Sisältö Otsikko SEO Optimization tools and web page analyzer - siteoptimer.com Pituus : 62 Täydellistä, otsikkosi sisältää
11. oppitunti III. Viittaukset. Osa. Mikä on viittaus?
Osa III 11. oppitunti Viittaukset Kahdessa viime luvussa opit käyttämään osoittimia kohteiden käsittelyyn vapaalla muistialueella sekä viittaamaan noihin kohteisiin epäsuorasti. Tässä luvussa käsiteltävät
Ohjeistus yhdistysten internetpäivittäjille
Ohjeistus yhdistysten internetpäivittäjille Oman yhdistyksen tietojen päivittäminen www.krell.fi-sivuille Huom! Tarvitset päivittämistä varten tunnukset, jotka saat ottamalla yhteyden Kristillisen Eläkeliiton
DNA Toimistoviestintä Microsoft - sähköposti
DNA Toimistoviestintä Microsoft - sähköposti 30.10.2013 Luottamuksellinen MS Outlook, Standard postitilin asennus 1/6 Käynnistä Outlook 2010. Seuraava näyttö avautuu Valitse Next (Seuraava). 2 MS Outlook,
Oppilaan opas. Visuaaliviestinnän Instituutti VVI Oy. Versio 0.2 (2008-01-21)
Oppilaan opas Visuaaliviestinnän Instituutti VVI Oy Versio 0.2 (2008-01-21) Versio Päivämäärä Kuvaus 0.1 2005-01-16 Ensimmäinen versio. 0.2 2008-01-21 Korjattu kuvatiedostojen maksimiresoluutio ja muutamia
Sähköposti ja uutisryhmät 4.5.2005
Outlook Express Käyttöliittymä Outlook Express on windows käyttöön tarkoitettu sähköpostin ja uutisryhmien luku- ja kirjoitussovellus. Se käynnistyy joko omasta kuvakkeestaan työpöydältä tai Internet Explorer
Ohjeet e kirjan ostajalle
1 Ohjeet e kirjan ostajalle 1. Ostaminen ja käyttöönotto 1.1. Näin saat e kirjan käyttöösi Lataa tietokoneellesi Adobe Digital Editions (ADE) ohjelma täältä: http://www.adobe.com/products/digitaleditions/.
1.1 Internetistä lyhyesti. Mikä Internet on? 1.2 Maailmanlaajuinen verkko
1.1 Internetistä lyhyesti Alkuperä: - ARPAnet 1960-luvun loppu, 1970-luvun alku - Verkon luotettavuus - ARPA organisaatioit (Advanced Research Projects Agency) - BITnet, CSnet 1970-luvun loppu ja 1980-luvun
OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen
Helsingin yliopisto WebOodi 1 OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen Opetustapahtuman opiskelijalistan tulostaminen Ilmoittautuneista opiskelijoista
VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN
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
Sähköpostitilin käyttöönotto
Sähköpostitilin käyttöönotto Versio 1.0 Jarno Parkkinen jarno@atflow.fi Sivu 1 / 16 1 Johdanto... 2 2 Thunderbird ohjelman lataus ja asennus... 3 3 Sähköpostitilin lisääminen ja käyttöönotto... 4 3.2 Tietojen
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin