TECH INT lab6 2014, Studia - Politechnika Opolska, Semestr 6, Techniki Internetowe


Ćwiczenie 6

Php - podstawy

1. Zapoznać się ze składnią języka PHP:

http://www.php.net/manual/pl/

http://pl.wikibooks.org/wiki/PHP

http://www.w3schools.com/php/default.asp

2. Skrypt PHP można umieścić w pliku o rozszerzeniu zależnym od konfiguracji serwera.

Zwykle są to pliki .php. Fragment kodu, który ma zastać zinterpretowany jako skrypt można

zaznaczyć na jeden z 5 sposobów (wybór także zależy od konfiguracji serwera):

<? kod_php ?>

<?php kod_php php?>

<? php kod_php ?>

<script language="php"> kod_php </script>

<% kod_php %>

3. Sesje w życiu codziennym to ciąg zdarzeń mających ze sobą coś wspólnego np. sesja kinowa - siedzimy w kinie i oglądamy kilka filmów. Może być też sesja internetowa czyli przeglądanie różnych stron internetowych i wyszukiwanie potrzebnych informacji albo surfowanie dla czystej przyjemności. Sesja dla programisty PHP jest to czas, gdy użytkownik odwiedza poszczególne strony jego serwisu.

Największą popularnością sesje cieszą się w systemach logowania. Sesje mają jedną zasadniczą przewagę nad ciasteczkami. W przypadku, gdy obsługa cookies jest wyłączona przez użytkownika, sesje przesyłają ID sesji w adresie URL i dzięki temu rozpoznają, że sesja trwa.

Sesje potrzebne są do przekazywania zmiennych z jednej strony do drugiej, ale tylko dla jednego użytkownika. Przykładowo, jeżeli chcemy stworzyć skrypt autoryzacji (zawierający login i hasło), dzięki któremu na stronie będziemy mieli dostęp do większej ilości materiałów itd. to powinniśmy użyć zmiennych sesyjnych, które będą przesyłane do kolejnych stron. Zmienne sesyjne przechowywane są po stronie serwera, więc jakiekolwiek przejście do strony niesesyjnej (nie zawierającej odwołania do sesji bądź też nie rejestrujące żadnej zmiennej) kończyć się będzie utratą informacji zawartych w zmiennych.

Podstawową funkcją do tworzenia sesji jest session_start(). Służy ona do otwarcia sesji, czyli udostępnieniu skryptowi wszystkich zmiennych zarejestrowanych w sesji. Do rejestracji zmiennych służy funkcja session_register(). Jej parametrami jest nazwa zmiennej ujęta w cudzysłowach.

4. Ćwiczenie

W katalogu umożliwiającym umieszczanie interpretowanych przez serwer skryptów

PHP (zazwyczaj jest to ten sam katalog w którym umieszcza się dokumenty HTML, czyli dla serwera Apache ma on zazwyczaj nazwę public_html, .homepage lub zbliżoną), należy utworzyć podkatalog php1 a w nim plik o nazwie cw_1.php. W pliku tym należy umieść poniższy kod, a następnie uruchomić przeglądarkę i wywołać w niej stronę generowaną przez ten kod. Przeanalizować wyniki działania skryptu.

<?php

phpInfo();

php?>

5. Utworzyć skrypt wyświetlający w przeglądarce tekst powitalny i formularz logowania do serwisu

W pliku cw_2.php należy umieścić poniższy kod (odwołanie do poprzedniego skrypu - cw_1.php jest celowe !!!).

<html>

<head>

<title>PHP - cwiczenie 2</title>

</head>

<body>

Witaj<p>

<form name="login_form" action="cw_1.php" method="get">

<p>

nazwa:<input type="text" name="nazwa" maxlength="20" size="20"/>

</p>

<p>

hasło:

<input type="password" name="haslo" maxlength="20" size="20"/>

</p>

<p>

<input type="submit" name="zaloguj" value="zaloguj"/>

</p>

</form>

</body>

</html>

Uruchomić przeglądarkę, następnie wypełnić formularz danymi i nacisnąć przycisk „zaloguj”. Przeanalizować otrzymane wyniki. W jakich tablicach zastały umieszczone przesłane dane?

Zmodyfikować kod, w taki sposób, aby teraz do przesyłania danych na serwer wykorzystywał metodę POST. Jak się zmieniły wyniki?

6. Zmienić kod poprzedniego skryptu w taki sposób aby wysyłał dane do skryptu: cw_3.php

Uworzyć plik cw_3.php i umieścić w nim poniższy kod:

<html>

<head>

<title>PHP - cwiczenie 2</title>

</head>

<body>

Witaj<p>

Otrzymano nastepujace dane:<br>

<?php

echo "Nazwa: <b>". $_POST["nazwa"]."</b> <br>";

echo "Haslo: <b>". $_POST["haslo"]."</b> <br>";

php?>

</body>

</html>

Uzupełnić powyższy kod o sprawdzenie, czy hasło i nazwa użytkownika są sobie równe i jeżeli tak jest ustawić zmienną sesyjną $czy_zalogowany na wartość TAK, wyświetlić informacje o poprawnym zalogowaniu oraz wyświetlić link pozwalający na skorzystanie z dalszej części serwisu. Jeżeli przekazane dane różnią się między sobą, to wyświetlić informacje o niepoprawnym logowaniu oraz link pozwalający na podjęcie kolejnej próby.

<?php

session_start();

php?>

<html>

<head>

<title>PHP - cwiczenie 3</title>

</head>

<body>

Witaj<p>

Otrzymano nastepujace dane:<br>

<?php

echo "Nazwa: <b>". $_POST["nazwa"]."</b> <br>";

echo "Haslo: <b>". $_POST["haslo"]."</b> <br>";

session_start();

if (($_POST["nazwa"]==$_POST["haslo"]) && isset($_POST["haslo"]) &&

($_POST["haslo"]<>''))

{

echo 'Logowanie poprawne <br>';

echo '<a href="cw_4.php">Dalej</a> <br>';

$_SESSION['zalogowany'] = "tak";

$_SESSION['zalogowany_uzytkownik'] = $_POST["nazwa"];

}

else

{

echo 'Logowanie <b>nie</b> poprawne<br>';

echo '<a href="cw_2.php">Sproboj jeszcze raz</a> <br>';

unset($_SESSION['zalogowany']);

unset($_SESSION['zalogowany_uzytkownik']);

}

php?>

</body>

</html>

Do samodzielnego wykonania.

Utworzyć plik cw_4.php o następującej funkcjonalności:

1. Skrypt sprawdza, czy użytkownik jest zalogowany - ustawiona wartość zmiennej sesyjnej: zalogowany.

2. Zalogowanemu użytkownikowi wyświetlić powitanie: "Witaj nazwa_użytkownika" (oraz dzisiejszą datę).

3. Utworzyć formularz będący czterodziałaniowym kalkulatorem (np. dwa pola tekstowe lub lub przyciski z cyframi do wprowadzania liczb i lista pozwalająca wybrać działanie). Akcją dla tego formularza jest ten sam skrypt (wykorzystać zmienną $PHP_SELF). Przed wyświetleniem formularza sprawdzić jeszcze, czy wywołanie strony nie jest przypadkiem efektem wypełnienia formularza, wtedy po powitaniu wyświetlić wynik działania a dopiero po nim formularz.

4. Jeżeli użytkownik nie jest zalogowany to korzystając z nagłówka w języku HTML: REFRESH - przekierować go na stronę logowania (cw_2.php).

2014-03-31 T. Wiśniewska

TECHNIKI INTERNETOWE - laboratorium

INFORMATYKA III rok

studia stacjonarne I stopnia

sem. letni r. a. 2013/2014



Wyszukiwarka

Podobne podstrony:
TECH INT lab8 2014, Studia - Politechnika Opolska, Semestr 6, Techniki Internetowe
TECH INT lab12 2014, Studia - Politechnika Opolska, Semestr 6, Techniki Internetowe
TECH INT lab7 2014, Studia - Politechnika Opolska, Semestr 6, Techniki Internetowe
TECH INT lab9 2014, Studia - Politechnika Opolska, Semestr 6, Techniki Internetowe
praca dyplomowa wytyczne 2011 03 02, Studia - Politechnika Opolska, Semestr 6, Techniki Internetowe
Egzamin z IO 2014 Załącznik biznes BOO, Studia, Politechnika Opolska, Semestr IV, [Wyk] Inżynieria o
Lab 9 12, Studia - Politechnika Opolska, Semestr 2, Informatyka
Lab 7 12, Studia - Politechnika Opolska, Semestr 2, Informatyka
algorytmy egzamin, Studia - Politechnika Opolska, Semestr 3, Algorytmy
Lab 8 12, Studia - Politechnika Opolska, Semestr 2, Informatyka
Sprawozdanie - Projekt 2, Studia, Politechnika Opolska, Semestr V, [P] Grafika komputerowa II (K. Wr
piekarnia, Studia - Politechnika Opolska, Semestr 4, Inżynieria Oprogramowania
Test Prawo Kolejne, Studia - Politechnika Opolska, Semestr 4, Prawo Gospodarcze
sprawozdanie cw 2, Studia - Politechnika Opolska, Semestr 6, NSI
Testy z Szymury, Studia - Politechnika Opolska, Semestr 4, Prawo Gospodarcze
ref 610, Studia - Politechnika Opolska, Semestr 7, Systemy Pomiarowe
M1 GóraB GrzesiakA ZAD4, Studia Politechnika Poznańska, Semestr VIII (MiBM), Wytrzymałość materiałów
8. M2-Nieścioruk M.; Wargacki A. ZAD8, Studia Politechnika Poznańska, Semestr VIII (MiBM), Wytrzymał
fiza ściąga, Politechnika Opolska, 2 semestr, Fizyka - Laboratorium, fizyka Lab, resztki

więcej podobnych podstron