APLIKACJE WEBOWE

 


PHP + bazy danych - Aplikacje WWW 

Obejrzyj film nt. pracy PHP z SQL

Celem  ćwiczenia  jest  przygotowanie  prostej  aplikacji  internetowej  wykorzystującej  technologię  PHP.

Aplikacja  pokazuje  takie  aspekty,  współpraca  PHP  z  bazami  danych.  Ćwiczenia  można  wykonać  na dowolnym komputerze, którym zainstalowano serwer HTTP (np. Apache z obsługą PHP) oraz bazę danych.

Rozwiązania ćwiczeń omawianych w poniższym zestawie zostały przygotowane z wykorzystaniem pakietu XAMPP, który  jest  przygotowanym  dla  użytkowników  systemu  Windows  zestawem programów pozwalających na szybkie rozpoczęcie pracy z skryptami PHP. W skład pakietu wchodzą między innymi następujące, wstępnie skonfigurowane narzędzia:  serwer Apache, MySQL, PHP, phpMyAdmin.  

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):  

<?php kod_php php ?>  

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

Ćwiczenie 1   

Utworzenie środowiska do przeprowadzenia ćwiczeń.  

1.  Uruchom XAMPP control panel.  

2.  Jeżeli nie zostało to zrobione automatycznie (podświetlenie na zielono), uruchom serwer Apache i MySQL, klikając odpowiadające im przyciski „Start”:    

3.  Następnie za pomocą przeglądarki internetowej, przejdź pod adres http://127.0.0.1/phpmyadmin, co pozwoli nam uruchomić panel zarządzania bazami danych.  

4.  Kliknij  na  „Bazy  danych”  a  następnie  wpiszę  nazwę  bazy    „klasa3x”  i  zatwierdź  przyciskiem „utwórz”.    

5.  Następnie przejdź do zakładki „Uprawnienia” i kliknij na „Add user account”.  

6.  Uzupełnij pola. Nazwa „klasa3x”. Powtórz hasło 2 razy   „marcin”. Upewnij się, że zaznaczone jest pole „Przyznanie wszystkich uprawnień do bazy danych „klasa3x”, a następnie zatwierdź przyciskiem „Wykonaj” w prawym dolnym rogu.   

7.  Czas na zaimportowanie danych do bazy. Przejdź do zakładki „Import”, kliknij na „Wybierz plik” i podaj lokalizację pliku „dane_mysql.sql” a następnie wybierz przycisk „Wykonaj”. Jeżeli wszystko pójdzie zgodnie z planem zobaczysz komunikat: „Import zakończony sukcesem, wykonano … zapytań. 

UWAGA. Aby import odbył się prawidłowo należy sprawdzić czy w pliku SQL są odpowiednie instrukcje i prawidłowe kodowanie.     

Ćwiczenie 2

Celem tego ćwiczenia jest zapoznanie się z rozdziałem pomocy dla języka PHP opisującym sposób korzystania z bazy danych MySQL. W trakcie tego ćwiczenia zostanie także stworzony skrypt zawierający przykładowy  kod  dołączający  się  do  bazy  danych,  wykonujący  zapytanie  i  prezentujący  wyniki  tego zapytania.   

1.  Korzystając  z  dokumentacji  dla  języka  PHP  znajdującej  się  pod  adresem http://www.php.net/docs.php sprawdź listę systemów baz danych wspieranych przez PHP.   

2.  Zapoznaj się z listą i opisem funkcji służących do współpracy z bazą danych MySQL (niektóre z nich są dostępne również w języku polskim).  

3.  Stwórz plik cw_2.php i umieść go w katalogu obsługiwanym przez serwer. Domyślnie jest to C:\xampp\htdocs\  W  pliku  umieść  znaleziony  w  dokumentacji  przykładowy  kod  ilustrujący sposób współpracy PHP z bazą danych MySQL. Kod należy zmodyfikować tak, aby pozwalał skorzystać z bazy danych utworzonej w poprzednim ćwiczeniu  

Uwaga!   

W zamieszczonych przykładach skrypty PHP generują kod HTML niezgodny ze standardem – brak deklaracji i nagłówków. Wykonując ćwiczenia należy uzupełnić ten kod o wszystkie elementy wymagane w poprawnym dokumencie HTML.  

<?php 

$link= new mysqli("localhost","student","student","student"); if($link->connect_errno){ 

printf("Connect failed: %s\n",$link->connect_error); 

    exit(); 

} 

$result=$link->query("SELECT id_prac, nazwisko, imie, etat, placa_pod FROM pracownicy",MYSQLI_USE_RESULT); 

echo"<table>\n"; 

while($line=mysqli_fetch_assoc($result)){  

                echo"\t<tr>\n"; 

                foreach ($line as $col_value){                         

echo"\t\t<td>$col_value</td>\n"; 

                  } 

   echo"\t</tr>\n"; 

} 

echo"</table>\n"; 

$result->close(); 

$link->close() 

?> 

 

4.  Przeanalizuj  powyższy  kod,  wskaż  w  nim  fragmenty  związane  z  współpracą  z  bazą  danych, obsługą błędów i formatowaniem wyników zapytania.  

5.  Uruchom właśnie utworzoną stronę, wpisując w przeglądarce adres:  http://localhost/cw_2.php

Zmodyfikuj podany kod tak by był spójny z bazą danych klasa3x

6.  Spróbuj wprowadzić do powyższego kodu błędy, np. niepoprawna nazwa użytkownika, czy też hasło, aby zobaczyć jak wygląda obsługa błędów.   

Ćwiczenie 3  

W  tym  ćwiczeniu  dane  pochodzące  z  bazy  danych  posłużą  do  wygenerowania  odnośników  do  strony wyświetlającej szczegółowe informacje o wybranym elemencie bd.  

1.  Zapoznaj się z opisem funkcji array mysql_fetch_assoc ( resource wynik ).   

2.  Stwórz  plik  cw_3.php  i  umieść  w  nim  kod  pozwalający  przejść  do  strony  ze  szczegółowymi danymi o wybranym elemencie   

<?php

$link= new mysqli("localhost","student","student","student");

if($link->connect_errno){

  printf("Connect failed: %s\n",$link->connect_error);

  exit();

}

$result=$link->query("SELECT id_prac, nazwisko, imie, etat, placa_pod FROM

pracownicy",MYSQLI_USE_RESULT);

echo"<table>\n";

while($row=mysqli_fetch_assoc($result)){ 

  echo '<tr>';

  echo '<td>'.$row["nazwisko"].'</td>';

  echo '<td>'.$row["imie"].'</td>';

  echo '<td>'.$row["etat"].'</td>';

  echo '<td>'.$row["placa_pod"].'</td>';

  echo '<td><a href="cw_3a.php?id_prac='.$row["id_prac"].'">SZCZEGOLY</a></td>';

  echo '</tr>';

}

echo"</table>\n";  

$result->close();

$link->close();

?>

  

3. Uruchom teraz plik cw_3.php 

4. Stwórz plik cw_3a.php wyświetlający szczegółowe informacje o elemencie którego numer został przekazany jako parametr  

 <?php

$link= new mysqli("localhost","student","student","student");

if($link->connect_errno){

  printf("Connect failed: %s\n",$link->connect_error);

  exit();

}

$result=$link->query("SELECT id_prac, nazwisko, imie, etat, placa_pod, placa_dod, zatrudniony FROM pracownicy WHERE

id_prac=".$_GET["id_prac"],MYSQLI_USE_RESULT);

while($row=mysqli_fetch_assoc($result)){ 

  echo 'Imie: <b>'.$row["imie"].'</b><br>';

  echo 'Nazwisko: <b>'.$row["nazwisko"].'</b><br>';

  echo 'Etat: <b>'.$row["etat"].'</b><br>';

  echo 'Placa podstawowa: <b>'.$row["placa_pod"].'</b><br>';

  echo 'Placa dodatkowa: <b>'.$row["placa_dod"].'</b><br>';

  echo 'Pracuje od: <b>'.$row["zatrudniony"].'</b><br>';

}

$result->close();

echo $_SERVER['REQUEST_METHOD'];

$link->close();

?>

<hr>

<a href="cw_3.php">Powrot do instytutu</a> 

<a href="cw_4.php?a=edit&amp;id_prac=<?php echo$_GET["id_prac"];?>&amp;">Modyfikuj</a>

 

Ćwiczenie 4

W  ramach  tego  ćwiczenia  należy  wykonać  (samodzielnie)  skrypt  PHP  pozwalający  na  modyfikowanie danych określonego elementu:   

1.  Należy stworzyć skrypt PHP o nazwie cw_4.php.   

2.  Po  otrzymaniu  danych  metodą  GET  (wykorzystaj  zmienną  środowiskową REQUEST_METHOD)  skrypt  powinien  wyświetlać  formularz  wstępnie  wypełniony  danymi  edytowanego elementu.     Wynik zatwierdzonego formularza należy wysłać do tego samego skryptu metodą POST.   

3.  Po otrzymaniu danych metodą POST należy nową wersję danych umieszczać w bazie danych.   

4.  Na tej stronie należy wyświetlać linki do strony ze szczegółami edytowanego elementu (powrót bez zapisywania modyfikacji).  

Wykonaj wszystkie ćwiczenia i utwórz plik DOC z dokumentacja.

Komentarze