W tym rozdziale zamierzam wprowadzić czytelnika do świata PHP. Nie ma to być w żadnym bądź razie podręcznik tego języka- jest to bowiem kurs WML, a ta część ma wskazać w jaki sposób możemy wykorzystać PHP, ma zachęcić do nauczenia się tego języka - będziesz wtedy mógł tworzyć interaktywne, profesjonalne witryny zarówno WML jak i HTML !!!

Co to jest PHP ?
     Mówiąc najprościej jest to środowisko programistyczne, umożliwiające łączenie kodu WML (lub HTML) i kodu skryptu. Język PHP jest kodem skryptowym, który jest wykonywany po stronie serwera. Co to oznacza ? Otóż jeśli oglądasz jakąś stronę stworzoną z użyciem PHP, to poza rozszerzeniem pliku ( .php lub .php3) nie znajdziesz w takim kodzie niczego szczególnego. Po prostu wszystkie funkcje wykonywane są jeszcze na serwerze, a do Ciebie dociera gotowy, wygenerowany kod WML.

Jak umieścić kod PHP w kodzie wml ?
     Najprościej będzie zrobić to używając znaczników <? echo "Witaj Swiecie" ?> Bardziej zalecane jest jednak użycie znaczników <?PHP echo "Witaj Swiecie" ?> Oczywiście plik z takimi znacznikami trzeba jeszcze zapisać z rozszerzeniem .php lub .php3 i od tej chwili staje się on programem PHP.
Pamiętaj że PHP różnicuje duże i małe litery ! Wszystkie instrukcje PHP muszą być zakończone średnikami ! Podobnie jak w wml, tu także możesz stosować komentarze, mają one jednak odmienną budowę;

/* to jest komentarz */
// to także jest komentarz
# a to ostatni sposob na komentarze w PHP

I na tym wypada mi zakończyć te kilka słów wprowadzenia do PHP - to naprawdę zbyt obszerny temat, aby w kilku zdaniach nauczyć programowania, a poza tym to jest kurs WML, a nie PHP. Poniżej pokażę w jaki sposób można wykorzystać PHP do przetwarzania danych z formularzy. Mam nadzieję że te prościutkie skrypty nie sprawią kłopotu.

Przykład 1
W rozdziale "FORMULARZE" dowiedziałeś się w jaki sposób można stworzyć pola tekstowe, aby stworzyć komunikację z użytkownikiem serwisu. Uciąłem jednak w pewnym miejscu, streszczając że resztą zajmuje się skrypt. Przypomnijmy;

<card id="pierwsza" title="formularze">
 <do type="accept" label="Wyslij">
  <go href="wynik.php?imie=$(imie)&amp;lat=$(wiek)"/>
 </do>
   <p>Podaj imie:<input type="text" name="imie"/><br/>
    Podaj wiek:<input type="text" name="wiek" format="NN"/>
   </p>
</card>

Ten plik proponuję zapisać w pliku "form.wml"
Warto zwrócić uwagę na trzecią linijkę kodu; przy adresie do którego ma się odwoływać odnośnik (wynik.php) pojawił się znak zapytania i różne dziwne znaczki. Otóż w ten sposób przekazujemy do następnej karty dane pobrane z formularza. Każda zmienna (poprzedzona znakiem dolara) reprezentuje jedno pole. Np. wartość zmiennej $wiek, zostaje teraz zapisana w zmiennej $lat i taką nazwą zmiennej będziemy się posługiwali wykorzystując dane z formularza na następnej karcie. Analogiczna sytuacja ze zmienną $imie.

A oto kod źródłowy pliku wynik.php do którego odwoływał się link na poprzedniej karcie;

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<?PHP
 header ("Content-type: text/vnd.wap.wml");
 echo "<?xml version=\"1.0\"?>";
?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
		"http://www.wapforum.org/DTD/wml_1.1.xml">
 <wml>
  <card id="card1" title="Karta z PHP">
   <p align="center">Witaj <?PHP echo $imie; ?> !<br/>
    Masz<?PHP echo $lat; ?> lat !
   </p>
  </card>
 </wml>
Pierwsze cztery linie kodu są potrzebne aby serwer rozpoznał dokument wml. Następne linie to już zwykły kod wml, pomijając dwa miejsca oznaczone jako kod PHP. Weźmy pierwszy z nich;

<?PHP echo $imie; ?>

Jest to funkcja echo, która wyświetla po prostu łańcuch znaków. W tym przypadku wyświetla wcześniej w formularzu, ona zmienną $imie, czyli słowo które wpisaliśmy ale moglibyśmy zamiast zmiennej wpisać obojętne jakie słowo, zdanie, zawsze funkcja ta wyświetliła by je jak zwykły kod wml. Sytuację analogiczną zauważamy przy następnym fragmencie kodu, wyróżnionym znacznikami początku i końca skryptu PHP - tutaj pojawia się liczba jaką wpisaliśmy w formularzu w polu obok "Podaj wiek"
Załóżmy że w formularzu wpiszesz jako imię "TOMEK", a jako wiek "19". Wówczas po naciśnięciu "Wyslij" powinieneś zobaczyć taką kartę jak ta obok;

Przykład 2
Teraz spróbujemy ze skryptem który będzie wysyłał wyniki formularza na podany adres e-mail.
Powiedzmy że chcemy zbierać adresy odwiedzających naszą witrynę, aby potem móc ich informować o aktualizacjach i zapraszać do ponownych odwiedzin. W tym celu, najpierw tworzymy prostą kartę wml, zawierającą jedno pole tekstowe.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
	"http://www.wapforum.org/DTD/wml_1.1.xml">
 <wml>
  <card id="pierwsza" title="Obsluga formularza">
   <do type="accept" label="Wyslij">
	<go href="mail.php?adres=$(mail)"/>
   </do>
	<p>
     Podaj adres:<input type="text" name="mail"/>
	</p>
  </card>
 </wml>

Po wybraniu "Wyslij" ciąg znaków który wpisaliśmy w polu "Podaj adres" zostanie przesłany do pliku mail.php ukryty pod zmienną $adres. A oto kod źródłowy pliku mail.php;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
18
19
<?PHP
 header ("Content-type: text/vnd.wap.wml");
 echo "<xml version=\"1.0\"?>";
?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
 <wml>
<?PHP
 $temat="To jest list z wml";
 $adresat="liberator@hot.pl";
 $tresc="Adres odwiedzającego stronę: $adres";
 mail($adresat, $temat, $tresc, "From: Skrypt PHP <liberator@hot.pl>");
?>
  <card id="card1" title="Wysylka">
   <p align="center">Wiadomosc zostala wyslana
   </p>
  </card>
 </wml>

Jak pewnie zauważyłeś ten skrypt jest trochę bardziej skomplikowany od poprzedniego. Pierwsze cztery linie spełniają tą samą funkcję co w poprzednim przykładzie, dalej od 5 do 7 prolog i znacznik otwierający dokument wml.
Linie 8 do 11 to określanie zmiennych potrzebnych w skrypcie do wysłania mail`a; zaraz dowiesz się jak ich użyjemy.
Zmienna którą nazwałem $temat określa temat listu który zostanie wysłany, $adresat to adres na który ma być wysłany list, $tresc to zawartość przesyłki; "Adres odwiedzającego stronę: $adres", jak zauważyłeś wreszcie użyliśmy zmiennej którą określiła osoba wypełniająca formularz, czyli jej adres e-mail.
Linia 12 to funkcja wysyłająca pocztę elektroniczną; tworzymy ją w następujący sposób:

mail(odbiorca_przesyłki temat_listu treść_wiadomości dodatkowe_nagłówki)

W naszym przypadku odbiorcą przesyłki jest adres który "kryje się" pod zmienną $adresat, analogicznie temat_listu to $temat, treść_wiadomości to $tresc, możemy jeszcze zdefiniować jaki będzie adres zwrotny listu. Prawda, że łatwe ?
Linia 13 to oczywiście zamknięcie skryptu, a pozostałe to kod karty wml jaka będzie się pojawiać po wysłaniu listu.

Mam nadzieję że powyższe przykłady nie tylko okażą się przydatne, ale i zachęcą do nauki programowania w PHP. Polecam książkę wydawnictwa Helion pt. "PHP3 Internetowe aplikacje bazodanowe" oraz małą acz bardzo przydatną książeczkę "PHP Leksykon kieszonkowy". Odradzam zaś chyba pierwszą w ogóle publikację na temat PHP- "PHP3" autorstwa Leona Atkinsona- jeżeli wcześniej nie programowałeś w żadnym języku, to możesz mieć trudności ze "strawieniem" tej pozycji.
A może piszesz już programy PHP i chciałbyś podzielić się z innymi jakimś przydatnym przy tworzeniu kart wml skryptem ? Jeśli tak to podeślij mi go, a znajdzie się w następnej wersji kursu.
Programistom którzy wolą wykorzystywać napisane już skrypty polecam stronę www.hotscripts.com - znajdziecie tam całe multum programów nie tylko w PHP.

 


WSTĘP | WPROWADZENIE | NARZĘDZIA | STRUKTRA DOKUMENTU | FORMATOWANIE TEKSTU | TABELE I OBRAZY | NAWIGACJA | ZADANIA I ZDARZENIA | FORMULARZE | PHP | LINKI | AKTUALIZACJE

Copyright (c) Tomasz Libera "Liberator" 2000- 2002 All Rights Reserved
Zezwala się na kopiowanie i rozpowszechnianie wiernych kopii niniejszego dokumentu, bez prawa wprowadzania zmian.
Kontakt: liberator@hot.pl, tel. 503-734-117, Gadu-Gadu: 868607