Laboratorium 1 Wprowadzenie do PHP Ćwiczenie 1. Tworzenie i uruchamianie projektu PHP w Netbeans Tworzenie projektu Uruchom środowisko NetBeans. Stwórz nowy projekt typu PHP Application (File->New Project, kategoria PHP, PHP Application). Wpisz nazwę projektu, np. Lab1. W polu Sources Folder wybierz katalog projektu np. katalog na dysku sieciowym lub pendrive. Serwer WWW znajduje się na tej samej maszynie, co Netbeans, zatem projekt ma być uruchamiany lokalnie w 3 kroku kreatora (Run Configuration) wybierz Run As: Local Web Site. Pliki PHP muszą być kopiowane do katalogu serwera WWW. W tym celu zaznacz pole Copy files from Sources Folder to another location, w polu Copy to Folder wpisz ścieżkę: C:\xampp\htdocs\lab1 Upewnij się, że adres w polu Project URL odpowiada katalogowi, do którego będą kopiowane pliki: http://localhost/lab1/ Uruchamianie projektu Stwórz nowy plik o nazwie index.php, umieść w nim przykładowy kod: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>lab 1</title> </head> <body> <?php echo '<h1>witamy w PHP</h1>';?> </body> </html> Kliknij Run Project lub wciśnij F6. UWAGA! Blok kodu PHP powinien rozpoczynać się znacznikiem <?php i kończyć znacznikiem?>. W poniższych przykładach znaczniki te pominięto, nie zapomnij w razie potrzeby ich dopisać, np.: <?php echo "<h1>tu mówi PHP</h1>";... reszta kodu PHP...?> Strona 1 z 5
Ćwiczenie 2. Zmienne, wyrażenia, tablice Stwórz kilka zmiennych, przypisz im wartości, wypisz wynik na ekranie: $s = "<h1>hello World!</h1>"; echo $s; $x = 17; $y = 23; echo "x = $x, y = $y<br>"; $z = $x + $y; echo "$x + $y = $z"; Tworzenie prostej tablicy: $oceny = array(3, 3, 2, 3.5); echo $oceny[0]. ', '; echo $oceny[1]. ', '; echo $oceny[2]. ', '; echo $oceny[3]. '<br>'; $oceny[4] = 4; $oceny[] = 3.5; // dopisz na końcu tabeli Tworzenie tablicy asocjacyjnej: $tabela[klucz] = wartość $osoba['imie'] = 'Jan'; $osoba['nazwisko'] = 'Kowalski'; $but = array('kolor' => 'czerwony', 'rozmiar' => 37, 'cena' => 3.50); Pętla po wszystkich elementach tablicy: foreach($osoba as $s) { echo $s. "<br>"; foreach($osoba as $klucz => $wartosc) { echo "$klucz = $wartosc<br>"; Strona 2 z 5
Ćwiczenie 3. Obsługa formularzy Umieszczenie formularza w kodzie HTML Na stronie startowej (index.php lub index.html) umieść formularz: Jak się nazywasz? <form action="akcja.php" method="get" > <input type="text" name="imie"> <input type="submit" value="wyślij"> </form> Odebranie danych w skrypcie PHP Stwórz nowy plik akcja.php. Umieść w nim kod obsługi formularza: $imie = $_GET['imie']; echo "Witaj, $imie"; Zmiana metody HTTP na POST W formularzu zmień metodę z GET na POST (znacznik form, atrybut method). W skrypcie PHP odczytaj dane z tablicy $_POST zamiast $_GET. Sprawdź działanie skryptu. Porównaj adresy URL w obu przypadkach. Generowanie i obsługa formularza w jednym pliku Przerób skrypt z poprzedniego ćwiczenia całość umieść w jednym pliku, index.php. Formularz musi teraz wskazywać na plik index.php jako skrypt odbierający dane. Zmień atrybut action w znaczniku form. (<form action="index.php" ) W skrypcie index.php sprawdź, czy zostały przesłane dane z formularza. Jeśli nie wyświetl formularz. Jeśli tak wyświetl powitanie. if(!isset($_post['imie'])) { // wyświetl formularz... else { // obsłuż formularz... Strona 3 z 5
Ćwiczenie 4. Filtrowanie danych z formularza Uruchom przygotowaną do tej pory stronę. W polu formularza spróbuj wpisać: <font color='red' size='22'>kleofas Co się stało? Jak wygląda źródło strony wysłanej do przeglądarki? Teraz spróbuj wpisać w formularzu: <script> alert('jestem zlym hackerem i zaraz cie zjem!'); </script> Aby zapobiec takim niespodziankom, ZAWSZE należy filtrować dane wpisane przez użytkownika w formularzu: $imie = htmlspecialchars($_post['imie']); Popraw skrypt i sprawdź jego działanie ponownie wpisz w formularzu kod ze znacznikiem font. Sprawdź, jak teraz wygląda źródło strony. Zadanie 1 Napisz prosty kalkulator. Strona 4 z 5
Zadanie 2 Napisz aplikację, która poprosi o podanie: liczby wierszy i kolumn, zakresu (min, max), a następnie wyświetli stronę z tabelą wypełnioną liczbami losowymi z podanego zakresu. Zabezpiecz aplikację przed podaniem niepoprawnych danych. Potrzebne funkcje znajdź w dokumentacji na stronie http://www.php.net/manual/en/ Strona 5 z 5