PHP cz 1 v2

background image

Technologie Informacyjne

Katedra Technologii Informacyjnych UE w Poznaniu

1

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

2

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

3

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

4

background image

Technologie Informacyjne

Katedra Technologii Informacyjnych UE w Poznaniu

5

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

6

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:

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.

background image

Technologie Informacyjne

Katedra Technologii Informacyjnych UE w Poznaniu

7

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:

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:

<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

8

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

9

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>


Wyszukiwarka

Podobne podstrony:
PHP Co nowego w PHP 5 (cz 3) 11 2004
ZPT 05 Wymiarowanie projektow cz 2 v2 odblokowany
PHP Co nowego w PHP 5 (cz 3) 11 2004
php cheat sheet v2
Kurs PHP v2
PHP cURL Book v2 1
Biol kom cz 1
Systemy Baz Danych (cz 1 2)
cukry cz 2 st
wykłady NA TRD (7) 2013 F cz`
JĘCZMIEŃ ZWYCZAJNY cz 4
Sortowanie cz 2 ppt

więcej podobnych podstron