Proponuję tutaj zamieszczać proste skrypty php wraz z krótkim wytłumaczeniem o co w nim biega. Chodzi o to, aby pokazać, że język PHP wcale nie jest taki trudny, jakby się mógł wydawać, przez co zachęci webmasterów korzystających do tej pory jedynie z HTML (XHTML) do nauki tego barwnego języka.
Na początek prościutki skrypt kalkulatora
Kalkulator// GeSHi -› [code=php]
<html
><head
> <meta http
-equiv
="Content-type" content
="text/html; charset=ISO-8859-2" /> <title
>Kalkulator
</title
></head
> <body
> <h1
>KALKULATOR
</h1
><FORM action
="<?php echo $_SERVER['PHP_SELF']; ?>" method
="post">Liczba
1: <INPUT TYPE
="text" NAME
="liczba1" SIZE
="12"> <br
>Liczba
2: <INPUT TYPE
="text" NAME
="liczba2" SIZE
="12"> <br
><br
>Wybierz
: <br
>dodawanie
<INPUT TYPE
="radio" NAME
="obliczanie" VALUE
="dodaj">
odejmowanie
<INPUT TYPE
="radio" NAME
="obliczanie" VALUE
="odejmij">
mnozenie
<INPUT TYPE
="radio" NAME
="obliczanie" VALUE
="pomnoz">
dzielenie
<INPUT TYPE
="radio" NAME
="obliczanie" VALUE
="podziel"> <br
> <br
><INPUT TYPE
="submit" VALUE
="Oblicz">
<INPUT TYPE
="reset" VALUE
="Wyczy¶ć"> <br
></FORM
><hr width
="40%" align
="LEFT" size
="2" /><?php$liczba1 = $_POST['liczba1'] ;
$liczba2 = $_POST['liczba2'] ;
$obliczanie = $_POST['obliczanie'] ;
if($obliczanie=="dodaj") { $wynik=$liczba1+$liczba2;
} else if($obliczanie=="odejmij") { $wynik=$liczba1-$liczba2;
} else if($obliczanie=="pomnoz") { $wynik=$liczba1*$liczba2;
} else if($obliczanie=="podziel") { $wynik=$liczba1/$liczba2;
} echo "Wynik: <b>$wynik</b>";
?></body
></html
>Wyjaśnienia:
Użyliśmy tutaj połączenia prostego formularza HTML ze skryptem php. Z oczywistych względów pomijam opis html'a.
Pierwsze co rzuca nam się oczy to atrybut action z wpisem:
<?php echo $_SERVER['PHP_SELF']; ?>, gdzie $_SERVER['PHP_SELF']; oznacza tablicę zmiennych środowiskowych .... ble ble ble. Poprostu chodzi o to, aby akcja była wykonana w obrębie tego pliku. Równie dobrze można by wpisać action="obliczaj.php" i nazwać tak samo cały plik. Efekt będzie taki sam.
Jako że przy pewnych ustawieniach serwera dostęp do danych formularza może być utrudniony, dodajemy krótkie nazwy zmiennych:
$liczba1 = $_POST['liczba1'] ;
$liczba2 = $_POST['liczba2'] ;
$obliczanie = $_POST['obliczanie'] ;Z kilku powyższych linijek kodu można by zrezygnować, ale wówczas w pliku konfiguracyjnym serwera wartość
register_globals musi być ustawiona na
on. Niezależnie od tego, jak mamy ustawiony serwer, krótkie nazwy zmiennych proponuję zostawić.
W formularzu zastosowano
INPUT TYPE="radio", pozwoli to na wykonanie unikalnego działania, obliczenia.
if($obliczanie=="dodaj")
{
$wynik=$liczba1+$liczba2;
}
else if($obliczanie=="odejmij")
{
$wynik=$liczba1-$liczba2;
}Instrukcje warunkowe
if, else if jak sama nazwa wskazuje służą do postawiania warunków. Czyli np. "jeżeli coś tam jest równe czemuś tam to zrób tak i siak. Na naszym przykładzie będzie to: " jeżeli zaznaczono pole
dodaj to zsumuj liczbę 1 i 2 i przypisz ją do zmiennej $wynik. Jeżeli zaś wybrano pole
odejmij to odejmij liczbę pierwszą od drugiej i przypisz ją do zmiennej $wynik" itd.
Kilka razy padło słowo "zmienna", pewnie zastanawiasz się co to takiego. Jest to nic innego jak pamięć podręczna przechowująca jakieś dane, w php poprzedzona znakiem $. Zwróć uwagę na nazwy pól w formularzu oraz na nazwy zmiennych - one nie są przypadkowe, bo właśnie w ten sposób mamy dostęp do danych formularza!
echo "Wynik: $wynik"; wyświetli obliczony wcześniej wynik.
Powyższy kod zapisz pod dowolną nazwą ( byle z rozszerzeniem *.php)

i wgraj na serwer. Sprawdź efekt działania.
A tak powinno to wyglądać w formie surowej:

EDIT'ka:
Może fajniej byłoby popatrzyć, jak wygląda to w oryginale..:
Kalkulator by Paps: