lab 02 php id 258739 Nieznany

background image

Wyższa Szkoła Gospodarki w Bydgoszczy
Instytut Informatyki Stosowanej
Technologie internetowe (2006/2007)

Ćwiczenie 2.

Wprowadzenie do PHP – dynamiczne generowanie stron WWW.



1. Cel ćwiczenia

Celem ćwiczenia jest poznanie języka PHP. Przedstawiono proste przykłady i zastosowania języka
oraz jego możliwości w zakresie dynamicznego generowania stron WWW, operacji na plikach oraz
katalogach itp. Ćwiczenie wymaga znajomości podstaw języka HTML oraz C (instrukcje
warunkowe, formatujące itp.).


2. Wstęp do PHP

PHP jest językiem skryptowym działającym po stronie serwera. Kod PHP osadzany jest w
dokumencie HTML i wykonywany w trakcie wywołania strony. Składnią język ten zbliżony jest do
języka C.
Przetwarzanie PHP jest wyzwalane przez specjalny typ, definiowany w pliku konfiguracyjnym
serwera informujący, że pliki z danym rozszerzeniem mają być traktowane jako skrypty (*.php).
Pliki z powyższym rozszerzeniem nie są od razu wysyłane tylko analizowane pod kątem
wystąpienia znaczników PHP.

Zalety PHP:

ƒ

wysoka wydajność,

ƒ

interfejsy do wielu różnych systemów baz danych (MySQL, Oracle, mSQL, Postgres,

Informix, InterBase, Sybase, ODBC itd.),

ƒ

wbudowane biblioteki służące do rozwiązywania wielu popularnych zadań WWW,

ƒ

dostęp do popularnych usług sieciowych (HTTP, IMAP, POP3, SMTP, FTP, DNS, itp.) oraz

możliwość tworzenia i otwierania gniazd sieciowych,

ƒ

niski koszt implementacji,

ƒ

przenośność,

ƒ

dostępność kodu źródłowego (Open Source).

background image

Wyższa Szkoła Gospodarki w Bydgoszczy
Instytut Informatyki Stosowanej
Technologie internetowe (2006/2007)

Popularne zastosowania PHP:

ƒ

przetwarzanie danych z formularzy,

ƒ

uwierzytelnianie użytkownika i kontrola dostępu (sesje),

ƒ

współpraca z bazami danych (tworzenie, usuwanie, modyfikowanie zawartości, pobieranie

informacji) i tworzenie interfejsu WWW dla tych operacji,

ƒ

funkcje plikowe (tworzenie katalogów, tworzenie, odczytywanie, zapisywanie plików,

modyfikowanie praw dostępu, wywoływanie funkcji systemowych),

ƒ

dynamiczne generowanie obrazów (GIF, JPEG, PNG) i dokumentów (PDF, RTF),



3. Osadzanie kodu PHP w dokumencie HTML - zmienne

Poniższe ćwiczenia wymagają zainstalowanego i poprawnie skonfigurowanego serwera WWW
(Apache) oraz współpracującego z nim interpretera kodu PHP (przynajmniej w wersji 4).
Omówiona zostanie instalacja serwera Apache z obsługą PHP dla Windows (PHPTriad).
Podczas zajęć laboratoryjnych wykorzystany zostanie serwer w sieci lokalnej oparty na
systemie Linux Slackware 9.0.

Początkowy skrypt każdego ćwiczenia powinien nosić nazwę index.php i zostać umieszczony w
katalogu domowym użytkownika. Studenci logują się do lokalnego serwera o adresie:
prowadz1.info.ab-byd.edu.pl (192.168.5.26) z wykorzystaniem oprogramowania - klienta FTP
(Total Commander) - nazwa użytkownika: student1...student15 (hasło takie samo jak nazwa
użytkownika).

Skrypt stworzony przez użytkownika studentX znajduje się pod adresem:
http://prowadz1.info.ab-byd.edu.pl/studentX/

Poniższy skrypt umieść w pliku index.php i sprawdź jego działanie:

<HTML>

<HEAD>

<TITLE>przykład</TITLE>

</HEAD>

<BODY>

<?php echo ”<H1>Przykład</H1>” ?>

<? echo ”osadzanie kodu” ?>

</BODY>

</HTML>

Poniższy skrypt pozwala dodać zawartość dynamiczną (w tym wypadku bieżący czas i data):

<HTML>

<HEAD>

<TITLE>przykład</TITLE>

</HEAD>

<BODY>

<?

// to jest komentarz: użycie funkcji date()

echo ”Dziś jest ”;

echo date(”jS F H:i”);

?>

</BODY>

</HTML>

background image

Wyższa Szkoła Gospodarki w Bydgoszczy
Instytut Informatyki Stosowanej
Technologie internetowe (2006/2007)

Korzystając z podręcznika PHP (www.php.net) zapoznaj się ze sposobem formatowania daty.


W przeciwieństwie do języka C, deklaracja zmiennej następuje automatycznie w trakcie
przypisania. Typ zmiennej zostaje określony na podstawie wartości stojącej po prawej stronie znaku
= (w pierwszym podstawieniu jest to zmienna typu integer, w drugim typu string (łańcuch
tekstowy). Polecenie echo pozwala wyświetlić zmienną lub dowolny tekst (tekst może zawierać
znaczniki HTML).

<?

$a

=

25;

//deklaracja i przypisanie

echo

$a

;

echo

"<BR>"

;

$a

=

"ta sama zmienna"

;

echo

$a

;

?>



3. Zmienne formularza i przesyłanie zmiennych

Znaczniki <FORM> (plik index.php) zawierają komponenty standardowego formularza WWW –
pola tekstowe oraz przycisk. Akcja formularza ustawiona jest na skrypt send.php - w momencie
naciśnięcia na przycisk (submit) zostanie załadowana strona send.php, a nazwy pól formularza
(imie, nazwisko) staną się zmiennymi tekstowymi w skrypcie send.php ($imie, $nazwisko).
Wartości tych zmiennych to informacje, które użytkownik wpisał w pola tekstowe. W metodzie
post wysyłane dane są niewidoczne dla użytkownika (przesyłane jako osobny pakiet).

<FORM

METHOD

=

"post"

ACTION

=

"send.php"

>

<INPUT

TYPE

=

"text"

NAME

=

"imie"

><BR>

<INPUT

TYPE

=

"text"

NAME

=

"nazwisko"

><BR>

<INPUT

TYPE

=

"submit"

VALUE

=

"wyślij"

>

</FORM>

<?

// to jest zawartość sekcji <BODY> pliku send.php

echo

"Podałeś: "

.

$imie

.

" "

.

$nazwisko

;

?>


Zmienne można także przesłać w adresie URL (w odnośniku do danej strony zawierającej skrypt
PHP). Plik index.php można zapisać na dwa sposoby:

<A

HREF

=

"send.php?a=2"

>dalej</A>


lub umieszczając kod odnośnika w kodzie PHP (wartość przesyłanej zmiennej może być
wyznaczona w trakcie działania skryptu):

<?

$a

=

2;

echo

"<A HREF=\"

send

.

php

?

a

=

".$a."

\

">dalej</A>"

;

?>


Skrypt send.php wyświetla przesłaną zmienną:

<?

echo

"Zmienna <B>a</B> wynosi "

.

$a

;

?>

background image

Wyższa Szkoła Gospodarki w Bydgoszczy
Instytut Informatyki Stosowanej
Technologie internetowe (2006/2007)

4. Odczyt danych z pliku

Dostęp do plików (odczyt, zapis) odbywa się podobnie jak w języku C. Otwarty do odczytu lub
zapisu plik zostaje skojarzony z uchwytem pliku – liczbą typu integer. Funkcja fgets() zwraca
kolejne wiersze pliku i przypisuje je zmiennej $linia. Drugi parametr tej funkcji określa liczbę
znaków w linii.

<?

$f

=

fopen(

"produkty.txt"

,

"r"

)

;

while

(!feof(

$f

))

{

$linia

=

fgets(

$f

,100

)

;

echo

$linia

.

"<BR>"

;

}

fclose(

$f

)

;

?>




5. Edycja danych i zapis do pliku

Odczytu z pliku możemy także dokonać przypisując zmiennej tekstowej całą zawartość pliku.
Funkcja filesize() zwraca rozmiar pliku, a fread() – zawartość całego pliku. Zmienna ta podstawiana
jest w polu <TEXTAREA> (pole tekstowe domyślnie wypełnione jest zawartością pliku):

<?

$f

=

fopen(

"produkty.txt"

,

"r"

)

;

$size

=

filesize(

"produkty.txt"

)

;

$plik

=

fread(

$f

,

$size

)

;

fclose(

$f

)

;


echo

"<FORM METHOD=\"

post\

" ACTION=\"

zapisz

.

php\

">"

;

echo

"<TEXTAREA NAME=\"

plik\

">"

.

$plik

.

"</TEXTAREA>"

;

echo

"<BR><INPUT TYPE=\"

submit\

" VALUE=\"

zapisz\

">"

;

echo

"</FORM>"

;

?>


W skrypcie zapisz.php ten sam plik zostaje otwarty do zapisu. Zmodyfikowany tekst (z pola
<TEXTAREA> formularza) przekazywany jest do funkcji fwrite(), która nadpisuje istniejący plik
wartością zmiennej $plik:

<?

$f

=

fopen(

"produkty.txt"

,

"w"

)

;

echo

"Zapisywanie..."

;

fwrite(

$f

,

$plik

)

;

fclose(

$f

)

;

?>




6. Serwis WWW w jednym pliku

Na podstawie powyższych wiadomości oraz zasad projektowania serwisu WWW (ćwiczenie 3)
można stworzyć zarządzalną witrynę na bazie jednego skryptu PHP oraz opcjonalnych plików
tekstowych z treścią serwisu:

background image

Wyższa Szkoła Gospodarki w Bydgoszczy
Instytut Informatyki Stosowanej
Technologie internetowe (2006/2007)

<?

echo

"<A HREF=\"

index

.

php

?

m

=

firma\

">firma</A> | "

;

echo

"<A HREF=\"

index

.

php

?

m

=

produkty\

">produkty</A> | "

;

echo

"<A HREF=\"

index

.

php

?

m

=

kontakt\

">kontakt</A><BR><BR>"

;

if

(

$m

==

"firma"

)

{

//wyświetl informacje o firmie albo plik firma.txt

}

if

(

$m

==

"produkty"

)

{

//wyświetl informacje o produktach albo plik produkty.txt

}

if

(

$m

==

"kontakt"

)

{

//wyświetl dane teleadresowe albo plik kontakt.txt

}

?>

Zastosuj powyższe rozwiązanie w wykonanym w ćwiczeniu 3 projekcie serwisu WWW.



7. Wnioski i spostrzeżenia


8. Literatura

[1] Welling L., Thomson L., PHP i MySQL. Tworzenie stron WWW, HELION, Gliwice 2002,
[2] Lerdorf

R.,

PHP4. Leksykon kieszonkowy, HELION, Gliwice 2003,

[3] Ford

A.,

Apache. Leksykon kieszonkowy, HELION, Gliwice 2000,

[4] www.php.net,


Wyszukiwarka

Podobne podstrony:
bns kalisz 02 06 id 90842 Nieznany (2)
Lab 05 Obliczenia w C id 257534 Nieznany
CCNA4 lab 1 1 4a pl id 109119 Nieznany
CCNA4 lab 1 1 4b pl id 109120 Nieznany
na5 pieszak 03 02 10 1 id 43624 Nieznany
Lab KN cw 5 id 258468 Nieznany
5 6 3 Lab Registry Backup id 40 Nieznany (2)
lab pwsp 05 id 258618 Nieznany
24 02 2011 2 id 30494 Nieznany (2)
GNS3 Lab Workbook v0 2 id 19267 Nieznany
ES lab uklad zaplonowy id 16347 Nieznany
Lab technologii cw 4 id 258645 Nieznany
ei 2005 01 02 s080 id 154144 Nieznany
gk 02 graphics2d id 191746 Nieznany
Lab technologii cw 6 id 258649 Nieznany
N 109 02 WnukLipinski id 311796 Nieznany
Informacja 12 02 2008 id 213373 Nieznany
lab 4 Narzedzia scierne id 257 Nieznany
HYDROSFERA 02 odpowiedzi id 207 Nieznany

więcej podobnych podstron