Jaroslav Pitoňák / 02. 05. 2006, 00:00
WAPové stránky nemusia byť len statická záležitosť, ale v spolupráci so skriptovacím jazykom si môžeme vytvoriť dynamické aplikácie, ako napr. Chat, diskusie ... Názorné príklady dynamických WAP aplikácii vytvorených pomocou PHP si ukážeme v tejto časti seriálu.
header()
potlačíme tento MIME-type, a to zaslaním správneho (wml) MIME-type. Ďalší problém je deklarácia XML. Na väčšine serverov je povolený skrátený zápis ohraničenia kódu PHP. Deklarácia XML je ohraničená rovnakými značkami. Preto musíme deklaráciu XML vypisovať pomocou funkcie echo()
.date()
na zistenie aktuálneho dátumu a zistíme si cez aké zariadenie sa návštevník pripája: Následne si súbor uložíme ako napr. index.php $pocitadlo = (int)fgets($otvor, 1024); echo $pocitadlo; $pocitadlo++; fseek($otvor,0); fputs($otvor, $pocitadlo); fclose($otvor);
Počítadlo pre WAP stránku
V nasledujúcom príklade si vytvoríme jednoduché textové počítadlo a zapracujeme ho do predchádzajúcej stránky. Najskôr si vytvoríme súbor pocitadlo.txt kde sa bude ukladať stav počítadla. Následne si vytvoríme súbor pocitadlo.php:
<?php
$subor = "pocitadlo.txt";
$otvor = fopen($subor,"r+") or die("Nemozem otvorit pocitadlo.txt. <br /><br />Skontrolujte prava.");
?>
Do predchádzajúcej stránky si počítadlo vložíme pomocou funkcie include()
:
<?php
header("Content-type: text/vnd.wap.wml");
echo "<?xml version="1.0" encoding="iso-8859-2"?>n";
echo "<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">n";
?>
<wml>
<card id="uvod" title="Inet.sk">
<p align="center">
<i>Vitajte na našej stránke</i><br/><br/>
Dnes je:<br/>
<b>
<?php
$datum = date("d. m. Y");
print $datum;
?>
</b>
<br/><br/>
Ste návštevník číslo:<br/>
<b>
<? include('pocitadlo.php') ?>
</b>
<br/><br/>
Pripájate sa cez:<br/>
<small>
<?php print $HTTP_USER_AGENT; ?>
</small>
</p>
</card>
</wml>
Následne si do súboru pocitadlo.txt zapíšeme počiatočnú hodnotu, napr. 1 a všetky súbory umiestnime na server. Na súbor pocitadlo.txt musíme nastaviť práva pre zápis CHMOD 777.
Odosielanie e-mailov cez WAP stránky
Teraz využijeme základné vedomosti o PHP a WML na tvorbu aplikácie, pomocou ktorej budeme môcť posielať cez mobilný telefón elektronické správy. Vytvoríme si dva súbory. Prvý mail.php, kde sa bude nachádzať formulár a druhý posli.php, ktorý spracuje údaje z formulára a zašle e-mail na danú adresu.
Zdrojový kód mail.php:
<?php
header("Content-type: text/vnd.wap.wml");
echo "<?xml version="1.0" encoding="iso-8859-2"?>n";
echo "<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">n";
?>
<wml>
<card id="mail" title="E-Mail">
<p align="center">
Váš e-mail:<br/>
<input type="text" name="email" title="Odosielatel" value="@" /><br/>
E-mail prijímateľa:<br/>
<input type="text" name="email2" title="Prijimatel" value="@" /><br/>
Predmet:<br/>
<input type="text" name="predmet" title="Predmet" /><br/>
Správa:<br/>
<input type="text" name="sprava" title="Sprava" /><br/><br/>
<anchor>Odoslať
<go href="posli.php" method="post">
<postfield name="email" value="$(email)"/>
<postfield name="email2" value="$(email2)"/>
<postfield name="predmet" value="$(predmet)"/>
<postfield name="sprava" value="$(sprava)"/>
</go>
</anchor>
</p>
</card>
</wml>
<?php
header("Content-type: text/vnd.wap.wml");
echo "<?xml version="1.0" encoding="iso-8859-2"?>n";
echo "<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">n";
?>
<wml>
<card id="send" title="Odoslanie">
<?php
$msg .= "$spravan";
$subject = "$predmetn";
$to = "$email2";
$mailheaders = "From: $email<$email> n";
$mailheaders .= "Reply-To: $email<$email>nn";
mail($to, $subject, $msg, $mailheaders);
print("<p align="center">Ďakujeme,<br /> Váš e-mail bol odoslaný na adresu $email2.<br/><br/>
<a href="mail.php "> << Návrat</a></p>");
?>
</card>
</wml>
Diakritika pomocou PHP
Diakritiku na WML stránkach sme síce rozoberali v predchádzajúcej časti seriálu, ale ako spracovať diakritické znaky ktoré zadá návštevník stránky do formulárového poľa? Vytvoríme si na to v PHP funkciu, ktorá nám spracuje diakritické znamienka do UTF-8 entít. Vyvoríme si tri súbory: funkcia.php, formular.php a spracuj.php
Súbor funkcia.php obsahuje funkciu na spracovanie diakritických znamieno, ale kedže je dosť rozsiahla, môžete si ju stiahnuť spolu s ostatnými stránkami z tejto časti seriálu o tvorbe WAP stránok pod týmto odkazom (3,70 Kb).
Zdrojový kód formular.php:
<?php
header("Content-type: text/vnd.wap.wml");
echo "<?xml version="1.0" encoding="iso-8859-2"?>n";
echo "<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">n";
?>
<wml>
<card id="diakritika" title="Formular">
<p align="center">
Text:<br/>
<input type="text" name="text" title="Text" /><br/>
<br/>
<anchor> Spracovať
<go href="spracuj.php" method="post">
<postfield name="text" value="$(text)"/>
</go>
</anchor>
</p>
</card>
</wml>
<?php
header("Content-type: text/vnd.wap.wml");
echo "<?xml version="1.0" encoding="iso-8859-2"?>n";
echo "<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">n";
?>
<? include('funkcia.php') ?>
<wml>
<card id="work" title="Spracuj">
<p align="center">
Spracovany text:<br/>
<?php
$text2= unicode("$text");
print "$text2";
?>
</p>
</card>
</wml>
Následne stránky uložíme na server a cez mobilný telefón spustíme stránku formular.php kde môžme zadať text s diakritikou.
Nabudúce
V štvrtej časti seriálu si rozšírime generovanie WML stránok pomocou skriptovacieho jazyka PHP o prácu s databázou MySQL.
Jaroslav Pitoňák
Copyright © 2002 - 2013 inet.sk, s. r. o. | Všetky práva vyhradené | Neprešlo jazykovou úpravou | ISSN 1336-1899
Využívame kvalitný webhosting za rozumnú cenu od Inet.sk