PHP cz 1 v2


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 . 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 zródła strony (Widok yró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
1
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. Aańcuchy znaków
Aań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.


$napis = "hello world";
echo $napis;
?>


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.


$napis = "hello world";
$liczba = 123;
echo $napis . " " . $liczba;
?>


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
2
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 . 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:


$cena_netto = 1200;
$vat = 22;
$cena_brutto = $cena_netto + $cena_netto * $vat / 100;
echo $cena_netto;
echo $cena_brutto;
?>


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
)
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";
3
Technologie Informacyjne Katedra Technologii Informacyjnych UE w Poznaniu
4
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:


?>


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 $podatek 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
sprawdz 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 {}
5
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.


$i = 1;
while ($i <= 5)
{
echo "Liczba to $i
";
$i = $i + 1;
}
?>


Zapisz plik i zobacz efekt działania programu w przeglądarce. Możesz również
podejrzeć zró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:
1 1
2 4
3 9
4 16
5 25
Podpórka
Zajrzyj do zadań z HTML, aby przypomnieć sobie, w jaki sposób tworzona jest tabela w
HTML.
6
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.



$i = 1;
while ($i <= 5)
{
$kwadrat = $i * $i;
echo "";
echo "";
echo "";
echo "";
$i = $i + 1;
}
?>
$i $kwadrat



ð
Dołóż do tabeli wiersz nagłówkowy, aby wyglądała następująco:
x kwadrat
1 1
2 4
3 9
4 16
5 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:



Imie:

Wiek:





Powyższy plik tworzy formularz, na którym znajdują się dwa pola tekstowe oraz przycisk do
wysyłania danych formularza.
7
Technologie Informacyjne Katedra Technologii Informacyjnych UE w Poznaniu
Znacznik
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:


Witaj .

Masz lat.


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. Sprawdz, 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.
8
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.


$wiek = $_REQUEST["age"];
if ($wiek >= 18) {
echo "Witaj " . $_REQUEST["name"] . ".
";
echo "Masz $wiek lat.";
}
else {
echo "Niestety jesteś zbyt młody.";
}
?>


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:





Sesję tworzy się poprzez wykonanie funkcji session_start(). Wywołanie tej
funkcji musi mieć miejsce przed wystąpieniem znacznika .
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.
9
Technologie Informacyjne Katedra Technologii Informacyjnych UE w Poznaniu
session_start();
if ( isset( $_SESSION["licznik"] ) )
$_SESSION["licznik"] = $_SESSION["licznik"] + 1;
else
$_SESSION["licznik"] = 1;
?>


Odwiedziłeś tę strone ju\
razy.


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 wejdz 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.



if ( isset( $_REQUEST["name"] ) ) {
$_SESSION["name"] = $_REQUEST["name"];
}
if ( isset( $_SESSION["name"] ) ) {
echo "Witaj ". $_SESSION["name"];
}
else {
?>
Nie jestes zalogowany!!!





}?>
10


Wyszukiwarka