background image

Technologie Informacyjne 

 

Katedra Technologii Informacyjnych UE w Poznaniu 

 

PHP 

PHP jest szeroko stosowanym skryptowym językiem programowania służącym do tworzenia 
dynamicznych i interaktywnych serwisów internetowych. PHP zawdzięcza swoją popularność 
temu, że jest względnie łatwy do nauczenia, umożliwia dostęp do ok. 20 różnych  serwerów 
baz danych, jest szybki i oszczędny w zasoby serwera, jest dostępny na większość systemów 
operacyjnych  i  współpracuje  z  większością  serwerów  WWW.  PHP  jest  również 
oprogramowaniem open source, jest darmowy i rozszerzalny. 

Do  edycji  plików  PHP  można  wykorzystywać  dowolny  edytor  tekstowy  (np.  Notatnik) 
umożliwiający  edycję  zwykłych  plików  tekstowych.  Możliwe  jest  również  zastosowanie 
specjalnego  edytora  tekstowego  wyposażonego  w  dodatkowe  funkcje  ułatwiające  edycję 
plików PHP, takie jak kolorowanie składni, podpowiedzi itp. 

Poniższy samouczek wykorzystuje aplikację Aptana Studio 2

Te same zadania można wykonać korzystając z aplikacji Notepad++. 

Bloki  programu  PHP  rozpoczynają  się  zawsze  od  <?php,  a  kończą  na  ?>.  Blok  programu 
PHP może być wielokrotnie umieszczany w dowolnym miejscu dokumentu HTML. 

Przed wykonaniem poniższych poleceń należy wykonać 

polecenia ze skryptu „PHP – konfiguracja środowiska” 

I.  Pierwszy program 

1.  Przeanalizuj kod strony PHP 

a.  Wyświetl kod strony utworzonej podczas konfiguracji i testowania środowiska PHP. 

Plik  PHP  zwykle  zawiera  pewną  ilość  znaczników  HTML  i  pewną  ilość  bloków 
PHP. 

Każda  linia  kodu  w  PHP  musi  kończyć  się  średnikiem.  Średnik  jest  separatorem, 

dzięki, któremu możliwe jest odróżnienie jednej instrukcji od drugiej. 

W  powyższym  przykładzie  użyta  została  instrukcja  echo  służąca  do  wyświetlania 
napisów. 

2.  Wyświetl stronę w przeglądarce 

a.  Wyświetl jeszcze raz utworzoną stronę w przeglądarce. 
b.  Wybierz z menu przeglądarki podgląd źródła strony (Widok →Źródło strony). 

Zauważ,  że  program  napisany  w  PHP  nie  jest  dostępny.  Dzieje  się  tak  dlatego,  że 
skrypty  PHP  uruchamiane  są  na  serwerze,  a  do  przeglądarki  przesyłany  jest  tylko 
wynik ich działania. 

II.  Zmienne 

Zmienne  używane  są  w  skryptach  PHP  w  celu  przechowywania  wartości  takich  jakich 
łańcuchy  znaków  (napisy),  liczby,  tablice  (wektory)  lub  wyniki  działania  funkcji,  dzięki 

background image

Technologie Informacyjne 

 

Katedra Technologii Informacyjnych UE w Poznaniu 

 

czemu  mogą  być  wielokrotnie  używane  w  ramach  programu.  Wszystkie  zmienne  w  PHP 
zaczynają się od znaku $. 

Za pomocą operatora = odbywa się przypisanie wartości do zmiennej: 

$napis = "hello world"; 
$liczba = 123; 

III.  Łańcuchy znaków 

Łańcuchy znaków (napisy) w języku PHP muszą być umieszczane w cudzysłowach. Zmienne 
mogą służyć do przechowywania łańcuchów znaków. 

1.  Zmodyfikuj program Hello World 

a.  Zmodyfikuj  program,  który  utworzyłeś  w  poprzednim  punkcie  wg  poniższego 

przykładu. Program będzie teraz korzystał ze zmiennej $napis, w celu wyświetlenia 
napisu. 

<html> 
<body> 
<?php 
$napis = "hello world"; 
echo $napis; 
?> 
</body> 
</html> 

Skrypt  w  pierwszej  kolejności  przypisuje  wartość  "hello  world"  do  zmiennej 
$napis. Następnie za pomocą instrukcji echo wypisuje jej zawartość. 

b.  Zapisz zmiany i zobacz wynik działania programu w przeglądarce. 

2.  Operator połączenia łańcuchów 

Do łączenia łańcuchów znaków służy operator . (kropka). Poniższy przykład pokazuje w jaki 
sposób można łączyć ze sobą napisy. 

<html> 
<body> 
<?php 
$napis = "hello world"; 
$liczba = 123; 
echo $napis . " " . $liczba; 
?> 
</body> 
</html> 

Zapisz zmiany i zobacz wynik działania programu w przeglądarce. 

W  powyższym  przykładzie  użyliśmy  operatora  połączenia  (.)  w  celu  połączenia  ze  sobą  w 
jeden napis napisu hello world, spacji oraz liczby. 

Zadanie 

background image

Technologie Informacyjne 

 

Katedra Technologii Informacyjnych UE w Poznaniu 

 

Zmodyfikuj  powyższy  program  w  taki  sposób,  aby  wartość  zmiennej  $liczba,  została 
wypisana pogrubioną czcionką. 

 

Podpórka 

Do pogrubiania służy znacznik <b>. Zmodyfikowany skrypt PHP oprócz wartości zmiennych 
powinien również wyświetlać znaczniki HTML. 

IV.  Operatory 

W  poprzednim  punkcie  poznałeś  operator  łączenia  napisów  (.).  Jest  to  jedyny  operator 
działający  na  napisach.  W  języku  PHP  istnieją  dodatkowo  operatory  wykonujące  operacje 
arytmetyczne ( m.in. + - * / ) oraz operacje porównania ( m.in. < > == ) itd. 

1.  Zmodyfikuj swój program 

W tym ćwiczeniu napiszemy program, który będzie obliczał cenę brutto na podstawie zadanej 
ceny netto i wartości podatku VAT. 

a.  Zmodyfikuj swój program wg poniższego przykładu: 

<html> 
<body> 
<?php 
$cena_netto = 1200; 
$vat = 22; 
$cena_brutto = $cena_netto + $cena_netto * $vat / 100; 
echo $cena_netto; 
echo $cena_brutto; 
?> 
</body> 
</html> 

b.  Zapisz zmiany i zobacz wynik działania programu w przeglądarce. 
c.  Popraw program w taki sposób, aby cena netto i brutto wyświetlane były w osobnych 

liniach (potrzebny będzie znacznik <br/>) 

Zadanie 

Zmodyfikuj  program  w  taki  sposób,  aby  wyświetlana  została  również  wartość  zapłaconego 
podatku. 

Podpórka 

Wartość  podatku  obliczamy  poprzez  odjęcie  od  ceny  brutto  ceny  netto.  Zmienne  można 
umieszczać  również  wewnątrz  napisów  ujętych  w  znaki  cudzysłowu.  Wówczas  wartość 
zmiennej będzie wstawiona w odpowiednim miejscu. Ułatwia to łączenie napisów i zwiększa 
czytelność programu.  

a.  Na końcu programu dopisz poniższą instrukcję i zobacz efekt jej działania: 

echo "$cena_brutto plus $vat procent wynosi $cena_brutto"; 

background image

Technologie Informacyjne 

 

Katedra Technologii Informacyjnych UE w Poznaniu 

 

 

 

background image

Technologie Informacyjne 

 

Katedra Technologii Informacyjnych UE w Poznaniu 

 

V.  Instrukcja If..Else 

Instrukcje  if  oraz  else  służą  w  PHP  do  uzależnienia  wykonania  pewnych  akcji  od 
spełnienia określonych warunków. 

1.  Utwórz nowy plik 

Utwórz  nowy  plik  PHP  o  nazwie  podatek.php.  Twój  dokument  powinien  wyglądać 
następująco: 

<html> 
<body> 
<?php 
?> 
</body> 
</html> 

2.  Liczymy podatek 

Utwórz  program  w  PHP  obliczający  podatek  do  zapłacenia.  Zakładamy  podatek  liniowy  w 
wysokości 19%. Podatek liczony jest od różnicy między przychodem a kosztem. Podatek jest 
jednak  należny  tylko  w  przypadku,  gdy  ta  różnica  jest  większa  od  zera.  Do  tego  celu 
wykorzystamy funkcję if. 

a.  Umieść  we  właściwym  miejscu  fragment  programu  PHP  według  poniższego 

przykładu: 

$przychod = 123000; 
$koszt = 70000; 
$stawka = 19; 
$dochod = $przychod - $koszt; 
if ($dochod > 0) 
$podatek = $dochod * $stawka / 100; 
else 
$podatek = 0; 
echo "Podatek wynosi <b>$podatek</b> PLN"; 

b.  Otwórz  w  przeglądarce  stronę  internetową  odpowiadającą  utworzonemu  plikowi.  Na 

stronie wyświetlona zostanie wartość podatku do zapłacenia. 

Zmień wartości przychodu i kosztu, w taki sposób, aby koszt przekraczał przychód i 
sprawdź działanie warunku. 

Instrukcja  if  zmienia  kolejność  wykonywania  instrukcji  programu  w  zależności  od 
spełnienia warunku (w nawiasie) występującego tuż po niej. W przypadku, gdy warunek jest 
spełniony  wykonywana  jest  instrukcja  umieszczona  za  warunkiem.  W  przypadku,  gdy 
warunek nie jest spełniony wykonywana jest instrukcja po słowie kluczowym else. 

Jeżeli  nie  ma  potrzeby  wykonywania  żadnej  akcji  w  przypadku  niespełnienia  warunku 
instrukcję else można pominąć. 

Jeżeli w chcemy wykonać więcej niż jedną instrukcję wewnątrz instrukcji if należy ująć je w 
nawiasy klamrowe {} 

background image

Technologie Informacyjne 

 

Katedra Technologii Informacyjnych UE w Poznaniu 

 

Zadanie 

Zmodyfikuj powyższy program tak, aby kwota podatku była wyświetlana tylko w przypadku 
dodatniego dochodu. W przeciwnym przypadku, gdy nie ma podatku do zapłacenia, powinien 
pojawiać się napis "Nic nie płacisz, ale będzie kontrola"

VI.  Pętle – instrukcja While 

Pętle umożliwiają wykonywanie tego samego kawałka programu odpowiednią liczbę razy.  

Instrukcja while powoduje wykonywanie danego fragmentu programu tak długo jak podany 
warunek jest spełniony. 

Poniższy program demonstruje pętlę, która wykonywana jest dopóki zmienna i jest mniejsza 
lub równa 5. Zmienna i natomiast zostaje zwiększona o jeden przy każdym powtórzeniu pętli. 

<html> 
<body> 
<?php 
$i = 1; 
while ($i <= 5) 

echo "Liczba to $i <br/>"; 
$i = $i + 1; 

?> 
</body> 
</html> 

Zapisz  plik  i  zobacz  efekt  działania  programu  w  przeglądarce.  Możesz  również 
podejrzeć  źródło  strony,  aby  zobaczyć  co  dokładnie  zostało  wygenerowane  przez 
skrypt PHP. 

Konstrukcja  $i  =  $i  +  1  oznacza:  "niech  nowa  wartość  zmiennej  $i  będzie 
równa poprzedniej wartości zmiennej $i zwiększonej o 1". 

Zadanie 

Zmodyfikuj  program  w  taki  sposób,  aby  generował  on  tabelę  kwadratów  liczby,  jak  w 
przykładzie: 

16 

25 

Podpórka 

Zajrzyj  do  zadań  z  HTML,  aby  przypomnieć  sobie,  w  jaki  sposób  tworzona  jest  tabela  w 
HTML. 

 

background image

Technologie Informacyjne 

 

Katedra Technologii Informacyjnych UE w Poznaniu 

 

Rozwiązanie 

Z  rozwiązania  skorzystaj  w  przypadku,  gdy  naprawdę  nie  jesteś  w  stanie  wykonać  tego 
zadania. 

<html> 
<body> 
<table border="1"> 
<?php 
$i = 1; 
while ($i <= 5) 

$kwadrat = $i * $i; 
echo "<tr>"; 
echo "<td> $i </td>"; 
echo "<td> $kwadrat </td>"; 
echo "</tr>"; 
$i = $i + 1; 

?> 
</table> 
</body> 
</html> 


Dołóż do tabeli wiersz nagłówkowy, aby wyglądała następująco: 
 

kwadrat 

16 

25 

VII. Formularze 

W  skryptach  PHP  możemy  w  bardzo  łatwy  sposób  operować  na  danych  wprowadzonych 
przez użytkownika na formularzu. 

1.  Utwórz plik HTML z formularzem 

Utwórz nowy plik o nazwie formularz.html wg. wzoru: 

<html> 
<body> 
<form action="welcome.php" method="GET"> 
Imie: <input type="text" name="name"><br/> 
Wiek: <input type="text" name="age"><br/> 
<input type="submit"> 
</form> 
</body> 
</html> 

Powyższy plik tworzy formularz, na którym znajdują się dwa pola tekstowe oraz przycisk do 
wysyłania danych formularza. 

background image

Technologie Informacyjne 

 

Katedra Technologii Informacyjnych UE w Poznaniu 

 

Znacznik  <form>  posiada  dwa  atrybuty.  Pierwszy  –  action  –  mówi  o  tym,  jaka 
strona zostanie załadowana po przyciśnięciu przycisku wyślij. Jest to również strona, 
do  której  zostaną  przesłane  dane  z  formularza.  W  naszym  przypadku  załadowana 
zostanie  strona  welcome.php.  Drugi  atrybut  –  method  –  określa  sposób 

przesyłania danych formularza. W przypadku metody  GET, dane są przesyłane, jako 
część adresu URL. 

Każde pole tekstowe posiada nazwę (tutaj name oraz age). Za pomocą tej nazwy, w skrypcie 
PHP, możliwe będzie odczytanie danych wprowadzonych w dane pole. 

2.  Odczytanie danych formularza 

Utwórz nowy plik PHP o nazwie welcome.php wg. wzoru: 

<html> 
<body> 
Witaj <?php echo $_REQUEST["name"]; ?>.<br /> 
Masz <?php echo $_REQUEST["age"]; ?> lat. 
</body> 
</html> 

3.  Wyświetl dokument w przeglądarce internetowej 

Otwórz  w  przeglądarce  stronę  internetową  formularz.html,  wypełnij  formularz  i 
naciśnij Wyślij

Przeglądarka  prześle  dane  wprowadzone  na  formularzu  do  skryptu  welcome.php
który wyświetli je w odpowiedniej formie. 

Zmień  w  pliku  formularz.html  metodę  z  GET  na  POST.  Sprawdź,  jaka  będzie 
różnica. 

Zadanie 

Zmodyfikuj program w taki sposób, aby pozdrowienie pojawiało się tylko w przypadku, gdy 
wiek jest  większy lub  równy 18. W przeciwnym  wypadku niech  pojawia się napis "Niestety 
jesteś zbyt młody"

Podpórka 

Należy użyć instrukcji warunkowej if. 

 

 

background image

Technologie Informacyjne 

 

Katedra Technologii Informacyjnych UE w Poznaniu 

 

Rozwiązanie 

Skorzystaj z rozwiązania, jeżeli nie będziesz w stanie samodzielnie rozwiązać tego zadania. 

<html> 
<body> 
<?php 
$wiek = $_REQUEST["age"]; 
if ($wiek >= 18) { 
echo "Witaj " . $_REQUEST["name"] . ".</br>"; 
echo "Masz $wiek lat."; 

else { 
echo "Niestety jesteś zbyt młody."; 

?> 
</body> 
</html> 

VIII. 

Sesja 

Kiedy  pracujesz  z  jakąś  aplikacją,  otwierasz  ją,  wprowadzasz  pewne  zmiany,  a  w  końcu 
zamykasz ją. Można to określić jako sesję. Komputer wie kim jesteś, wie kiedy uruchamiasz 
aplikację i kiedy ją kończysz. Jednak w Internecie istnieje poważny problem: serwer WWW 
nie wie kim jesteś, co robisz i co robiłeś wcześniej, ponieważ protokół HTTP nie utrzymuje 
stanu.  

Sesja  PHP  rozwiązuje  ten  problem  poprzez  stosowanie  zmiennych  sesyjnych,  które 
umożliwiają  przechowywanie  pewnych  informacji  na  serwerze  (np.  zalogowanego 
użytkownika czy zawartości koszyka) w trakcie trwania sesji użytkownika. 

1.  Rozpoczęcie sesji 

Utwórz nowy plik o nazwie sesja.php wg. wzoru: 

<?php session_start(); ?> 
<html> 
<body> 
</body> 
</html> 

Sesję  tworzy  się  poprzez  wykonanie  funkcji  session_start().  Wywołanie  tej 
funkcji musi mieć miejsce przed wystąpieniem znacznika <html>. 

2.  Zapis i odczyt zmiennej sesyjnej 

Zmienne sesyjne odczytuje się przy pomocy specjalnej zmiennej $_SESSION. W poniższym 
przykładzie  utworzony  został  licznik  odwiedzin  strony.  Funkcja  isset  sprawdza  czy 
zmienna  sesyjna  'licznik'  została  już  wcześniej  ustawiona.  Jeżeli  licznik  został  już 
ustawiony zwiększamy go o jeden. W przeciwnym przypadku ustawiamy licznik na wartość 
1. 

 

 

background image

Technologie Informacyjne 

 

Katedra Technologii Informacyjnych UE w Poznaniu 

10 

 

<?php 
session_start(); 
if ( isset( $_SESSION["licznik"] ) ) 
$_SESSION["licznik"] = $_SESSION["licznik"] + 1; 
else 
$_SESSION["licznik"] = 1; 
?> 
<html> 
<body> 
Odwiedziłeś tę strone juŜ 
<?php echo $_SESSION["licznik"]; ?> razy. 
</body> 
</html> 

3.  Przetestuj działanie skryptu 

a.  Za pomocą przeglądarki internetowej otwórz plik utworzony w poprzednim kroku. 

Utworzona  została  sesja  i  zliczanie  wizyt  trwa.  Naciśnij  kilkukrotnie  przycisk  F5, 
aby ponownie załadować stronę. Zauważ, że licznik wizyt zostaje zwiększony. 

Sesja trwa dopóki nie zamkniesz okna przeglądarki. Bez zamykania okna wejdź na 
zupełnie  inną  stronę,  a  następnie  wróć,  aby  zobaczyć,  że  licznik  w  dalszym  ciągu 
przechowuje odpowiednią wartość. 

b.  Zamknij  okno,  otwórz  i  ponownie  wyświetl  stronę.  Zobacz,  że  rozpocząłeś  nową 

sesję. 

Zadanie 

Utwórz  skrypt,  który  w  zmiennej  sesyjnej  będzie  przechowywał  imię  użytkownika.  Jeżeli 
imię  będzie  już  ustawione,  skrypt  będzie  wyświetlał  powitanie.  Jeżeli  natomiast  imię  nie 
będzie zapamiętane w sesji, skrypt będzie wyświetlał formularz z prośbą o podanie imienia. 

Rozwiązanie 

Skorzystaj z rozwiązania, dopiero gdy wszystko zawiedzie. 

<?php session_start(); ?> 
<html> 
<body> 
<?php 
if ( isset( $_REQUEST["name"] ) ) { 
$_SESSION["name"] = $_REQUEST["name"]; 

if ( isset( $_SESSION["name"] ) ) { 
echo "Witaj ". $_SESSION["name"]; 

else { 
?> 
Nie jestes zalogowany!!! <br/> 
<form> 
<input type="text" name="name"/> 
<input type="submit"/> 
</form> 
<?php 
}?></body></html>