przejście do zawartości
Igor Wojnicki's WIKI
Narzędzia użytkownika
Zaloguj
Narzędzia witryny
Szukaj
Narzędzia
Pokaż stronę
Poprzednie wersje
Odnośniki
Ostatnie zmiany
Menadżer multimediów
Indeks
Zaloguj
>
Ostatnie zmiany
Menadżer multimediów
Indeks
Jesteś tutaj:
start
»
pl
»
paw
»
lab_paw_php_2
Ślad:
pl:paw:lab_paw_php_2
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Laboratorium, PHP # 2 ====== ===== Ćwiczenie 1: Pliki ===== - Umiesc wybranym, dostępnym dla serwera WWW, katalogu kilka (4-5) obrazków JPG w niewielkiej rozdzielczości. - Napisz skrypt ''galeria.php'', który będzie generował dokument (X)HTML z w/w obrazkami, tak aby tworzyły galerię. Obrazki mogą być umieszczane w dokumencie np. jeden za drugim, albo jeden pod drugim. Przydatne funkcje: ''glob()'' albo ''scandir()''. - Dopisz do skrytpu ''galeria.php'' możliwość usuwanie obrazów z galerii: - przy każdym obrazku dodaj hiperpołączenie do skryptu z parametrem identyfikującym obrazek do usunięcia np. przy obrazku będącyw w pliku ''mojobraz.jpg'' dodaj hiperpołączenie: ''galeria.php?usun=mojobraz.jpg'' - zmodyfikuj skrypt tak aby po otrzymaniu metodą GET atrybutu ''usun'' usuwał plik o nazwie będącej jego wartością. - Dopisz do skrytpu ''galeria.php'' możliwość dodawania obrazów z galerii (dodaj do skrytpu formularz HTML, za pomocą którego można przesłać plik). **Uwaga:** Plik można usunąć korzystając z funkcji ''unlink()'' ==== Informacje dodatkowe: Przesyłanie plików ==== Poniżej znajduje się przykładowy formularz umożliwiający przesłanie pliku: <code html h1.html> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Przykładowa obsługa plików</title> <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> </head> <body> <form action="file.php" method="post" enctype="multipart/form-data"> <p> <input type="file" name="plik_pierwszy" /> <input type="file" name="plik_drugi" /> <input type="submit" value="wyślij" /> </p> </form> </body> </html> </code> oraz aplikacja PHP (uwaga: należy zachować plik pod nazwą ''file.php'', gdzyż taka nazwa jest skonfigurowana w formularzu powyżej): <code php file.php> <?php var_dump($_FILES); if (move_uploaded_file( $_FILES['plik_pierwszy']['tmp_name'], 'nazwa_pliku_po_przeslaniu')) echo 'ok'; else echo 'err'; ?> </code> ===== Ćwiczenie 2: (nadobowiązkowe) Współpraca z Bazami Danych ===== - Dopisz mechanizm uwierzytelniania, tak aby galeria była dostępna tylko dla tych, którzy przy próbie dostępu do ''galeria.php'' podadzą właściwą nazwę użytkownika i hasło. - Nazwy i hasła przechowuj w bazie danych. Konieczne będzie utworzenie przynajmniej jednej tabeli np. ''uzytkownik'' z kolumnami odpowiednio: ''nazwa'', ''haslo''. Celem zwiększenia bezpieczeństwa hasło nie powinno być przechowywane jawnie, ale jako wartość funkcji skrótu np. korzystając z [[http://www.php.net/manual/en/function.md5.php|md5()]] albo [[http://pl1.php.net/manual/en/function.sha1.php|sha()]]. ==== Informacje dodatkowe: Baza danych MySQL ==== Bazę danych MySQL można założyć korzystając z https://panel.agh.edu.pl MySQL można użyć w poniższy sposób. Uwaga: kod przeznaczony jest dla PHP od wersji 7 (w PHP5 obowiązywały inne nazwy funkcji, zamiast ''mysqli'' powinno być ''mysql'', uległa również zmianie kolejność argumentów - zobacz w dokumentacji PHP: http://php.net/manual/en/ref.mysql.php oraz https://www.php.net/manual/en/book.mysqli.php) <code php db1.php> $con_id=mysqli_connect('adres_serwera','nazwa_uzytkownika','haslo_do_bazy'); mysqli_select_db($con_id,'nazwa_bazy'); $query ='SELECT * FROM test;'; // zapytanie $result = mysqli_query($con_id,$query); // przesłanie zapytania while ($myrow = mysqli_fetch_row($result)){ // iteracja po rezultacie echo $myrow[1]; } mysqli_free_result($result); // zwolnienie zasobów związanych z zapytaniem mysqli_close($con_id); // zamknięcie połączenia </code> Analogiczny kod dla PHP5: <code php db2.php> <?php $con_id=mysql_connect('adres_serwera','nazwa_uzytkownika','haslo_do_bazy'); mysql_select_db('nazwa_bazy',$con_id); $query ='SELECT * FROM test;'; $result = mysql_query($query,$con_id); while ($myrow = mysql_fetch_row($result)){ echo $myrow[1]; } mysql_free_result($result); mysql_close($con_id); ?> </code> ^ TOP TIP ^ | Zauważ, że wyszukiwanie użytkowników po nazwie może być skutecznie zrealizowane przez bazę danych: ''SELECT haslo FROM uzytkownik WHERE nazwa='login';''|
pl/paw/lab_paw_php_2.txt
· ostatnio zmienione: 2024/12/14 18:29 przez
wojnicki
Narzędzia strony
Pokaż stronę
Poprzednie wersje
Odnośniki
Do góry