Johdanto
Asensin onnistuneesti apache2-weppipalvelimen, sekä php modin. Sain tehtyä onnistuneesti “HeiMaailma” -sivuston, jossa oli lomake missä kysyttiin nimeä ja ikää, sekä sain onnistuneesti tulostettua vastauksen toiselle sivulle. Tein myös onnistuneesti painoindeksi laskurin sivulleni erittäin pitkän pähkäilyn jälkeen. Kerron myös hieman ongelmista ni liittyen painoindeksilaskurin koodiin.
Laite:
- Intel Core 2 Quad CPU Q6600 @ 2.40GHz
- 2Gb DDR2 800 MHz
- NVIDIA GeForce 8800 GTS
- DVDRW LH-20A1H
- BenQ TCO’03 17”
- 500 Gb HDD
- Xubuntu 12.04 LTS 32-bit live-CD
Aloitus
19:30 Aloitin asentamalla päivitykset, asentamalla apache-weppipalvelimen ja tarvittavast asetukset apacheen.
$ sudo apt-get update
$ sudo apt-get install apache2
$ sudo a2enmod userdir
$ sudo service apache2 restart
19:45 Asensin php5-modin apacheen.
$ sudo apt-get install libapache2-mod-php5
19:50 Tein kotihakemistoon public_html kansion ja sinne index.html tekstitiedoston weppisivua varten. Tein myös action.php tiedoston, johon index.html sivu ohjaa kun täyttää siellä olevan lomakkeen.
$ mkdir public_html
$ nano index.html
Index.html tiedostoon kirjoitin scriptin kyselylomaketta varten (löytyy lähteistä)
$ nano action.php
action.php tiedostoon kirjoitin vastauksen kyselylomakkeeseen. (löytyy lähteistä)
20:45 Kun sivusto yrittää ladata action.php sivua, aluksi se saattaa haluta ladata action.php tiedoston. Kävin kommentoimassa ulos tarvittavat rivit.
$ sudoedit /etc/apache2/mods-enabled/php5.conf
Tiedostossa lukee ohjeet, mitkä rivit on kommentoitava ulos. Käynnistin apache2:n uudestaan
$ sudo service apache2 restart
21:00 Kävin kokeilemassa osoitteessa localhost/~xubuntu, että toimiko sivut ja kyllä toimi.
Painoindeksi:
21:30 tyhjensin index.html ja action.php -tiedostot ja vaihdoin index.html:n nimen
$ mv index.html index.php
Kirjoitin index.php:n oikean lomakkeen scriptin.
“<!DOCTYPE HTML>
<html><meta charset=”utf-8″ >
<head><title>John Doe </title></head>
<body>
<h1>Hello John Doe! </h1>
<p>Hello John Doe! Wanna play a game? Fill in your information: </p>
<form action=”action.php” method=”post”>
<p>Your name: <input type=”text” name=”name” /></p>
<p>Your age: <input type=”text” name=”age” /></p>
<p>Your weight in kilograms: <input type=”text” name”wt” /> </p>
<p>Your height in centimetres: <input type=”text” name”ht” /> </p>
<p><input type=”submit” /></p>
</form>
</body>
</html>
“
action.php:n kirjoitin:
“<!DOCTYPE HTML>
<html><meta charset=”utf-8″ >
<title>BMI Results!</title>
Prepare yourself for the truth im going to tell you <?php echo htmlspecialchars($_POST['name']); ?>.
You are <?php echo (int)$_POST['age']; ?> years old.
Your BMI is: <?php if(isset($_POST['sub_form'])){
if($_POST['wt']<= 0 ||$_POST['ht'] <= 0) die(“Enter valid values.”);
$wt = $_POST['wt'];
$ht = $_POST['ht'];
$ht = $ht * $ht;
$bmi = round($wt/$ht,2);
if($bmi < 20)die( ‘You are too skinny, eat more food! Your BMI is ‘.$bmi);
if($bmi >25) die (‘You are a fat bastard. Your BMI is ‘.$.bmi);
echo “You are perfect, marry me please. Your BMI is “.$bmi; ?>
<h1>You just lost the game. </h1>
“
22:10: Painoindeksi koodini ei toiminut. Apache2:n error.log -lokiin tuli seuraava virheviesti:
“[Sun Sep 09 19:02:09 2012] [error] [client 127.0.0.1] PHP Parse error: syntax error, unexpected ‘.’, expecting T_VARIABLE or ‘$’ in /home/xubuntu/public_html/action.php on line 13, referer: http://localhost/~xubuntu/”
Kuten viestissä lukee, virhe löytyi riviltä 13, joten tutkin tämän kyseisen rivin. Huomasin että minulla oli rivillä kolmetoista $-merkin jälkeen “.” vaikka ei olisi pitänyt olla.
Kokeilin uudestaan, josko sivu toimisi, mutta ei toiminut. Seuraava virhe löytyi riviltä 21. Virheviestissä luki:
“[Sun Sep 09 19:17:45 2012] [error] [client 127.0.0.1] PHP Parse error: syntax error, unexpected $end in /home/xubuntu/public_html/action.php on line 21, referer: http://localhost/~xubuntu/”.
Viesti tarkoitti sitä, että koodissa oli jotain vikaa.
23:45 En löytänyt virhettäni missään vaiheessa, joten päätin poistaa turhat lisukkeet koodista ja laittaa tilalle alkuperäiset koodit kyseiseltä sivulta (löytyy lähteistä). Tämän operaation jälkeen painoindeksilaskuri toimi mainiosti.
Lähteet: http://www.mycoding.net/2012/01/php-body-mass-index-bmi-calculator/, http://www.php.net/manual/en/tutorial.forms.php, http://www.w3schools.com,
Pohjana Tero Karvisen Linux-Kurssi.
Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.htm