Narzdzia informatyki 13 XII 2006 r PHP Plan
- Slides: 66
Narzędzia informatyki 13. XII. 2006 r PHP
Plan prezentacji n n n n Krótkie wprowadzenie Składnia języka Warunki i pętle Formularze i poczta Dostęp do plików Obsługa My. SQL Zadania
Plan prezentacji n Krótkie n n n wprowadzenie Składnia języka Warunki i pętle Formularze i poczta Dostęp do plików Obsługa My. SQL Zadania
Czym jest PHP? n PHP to skryptowy język programowania służący przede wszystkim do tworzenia dynamicznych stron WWW i wykonywany w tym przypadku po stronie serwera, z możliwością zagnieżdżania w HTML (bądź XHTML).
Zalety skryptów PHP n n Pomimo dużych możliwości dość prosta składnia (zbliżona do C) Łatwa obsługa formularzy Łatwa integracja z bazami danych Wykonywanie skryptów po stronie serwera
Plan prezentacji n Krótkie wprowadzenie n Składnia n n n języka Warunki i pętle Formularze i poczta Dostęp do plików Obsługa My. SQL Zadania
Jak umieścić skrypt na stronie? n n n <? (treść skryptu) ? > <? php (treść skryptu) ? > <script language="php"> (treść skryptu) </script> <% (treść skryptu) %> (od wersji 3. 0. 4) Plik o rozszerzeniu *. php 3 *. php 4 *. php 5 zależnie od ustaleń administratora serwera
Najprostszy skrypt n<? echo("To jest prosty skrypt PHP"); ? > W miejscu gdzie zostanie wstawiony ten skrypt powinien pojawić się napis To jest prosty skrypt PHP. Ten skrypt składa się tylko z jednej instrukcji. Instrukcje w skryptach PHP są kończone średnikami.
Komentarze n n <? echo("Kawałek<BR>tekstu"); /* Poprzednia linia wyświetla w 2 liniach napis "kawałek tekstu". Nie jest to zbyt odkrywcze, ale w końcu chodzi o przykład zastosowania komentarza ; -) */ ? > <? echo(„Tekst”); //to też jest komentarz ? >
Wykorzystanie zmiennych n n n Nazwy zmiennych zawsze zaczynają się od znaku $. Nie jest konieczne deklarowanie zmiennych, tak jak ma to miejsce w wielu innych językach. Aby stworzyć zmienną wystarczy nadać jej jakąś wartość, np: $a=7; $b="Jakiś tekst"; $c=2. 654; $d=0. 0
Wykorzystanie zmiennych n integer-liczba całkowita double-liczba rzeczywista string-łańcuch znaków array-tablica n $a=3; $b=„Jakiś tekst”; $c=„$a, $b”; n n n Zmienna $c będzie miała wartość "3, Jakaś tekst".
Zmienne predefiniowane n PHP udostępnia dla każdego pracującego skryptu dużą ilość predefiniowanych zmiennych. Jednakże wiele spośród tych zmiennych nie może być w pełni objaśnionych, gdyż są zależne od rodzaju serwera, jego wersji i ustawień i innych czynników.
Zmienne predefiniowane n n $_SERVER Zmienne tworzone przez serwer lub bezpośrednio powiązane ze środowiskiem uruchomieniowym danego skryptu. $_GET Zmienne dostarczone do skryptu za pomocą metodą GET protokołu HTTP. $_POST Zmienne dostarczone do skryptu metodą POST protokołu HTTP. $_SESSION Zmienne aktualnie zarejestrowane jako sesyjne.
Tablice n Aby stworzyć tablicę wystarczy przypisać wartość któremuś z jej pól n $tablica[0]="wartość $tablica[1]="wartość $tablica[2]="wartość $tablica[3]="wartość $tablica[4]="wartość pola pola n $indeks=3; $tablica[$indeks]=27; 0"; 1"; 2"; 3"; 4";
Operatory i wyrażenia n $a=5; $b=$a+2; /* $b ma wartość 7 */ $b+=3; /* $b=$b+3 */ $c=2*$a+3*($b-$a); n $a=$b=5; Przypisania są obliczane od prawej strony (w tym wypadku najpierw zmiennej $b przypisywana jest wartość 5, potem zmiennej $a wartość zmiennej $b).
Operatory i wyrażenia n n n PHP obsługuje kilka typów porównań. Porównanie ma wartość 1 jeżeli warunek jest spełniony, lub 0 gdy nie jest. $a==$b $a>=$b $a<=$b
Tworzenie funkcji n n Function f($a, $b) { $a+=$b; echo($a); } <? f(7, 2); ? > //wypisze na ekranie wartość 9
Zmienne w funkcjach n n $a=5; Function f() { echo($a); } f(); Wykonanie powyższego kodu nie spowoduje, jak mogłoby się wydawać, wyświetlenia liczby 5.
Zmienne w funkcjach n n n Żeby zmienna globalna (w tym wypacku $a) była widoczna wewnątrz funkcji, należy użyć polecenia global: $a=5; Function f() { global $a; echo($a); } f(); Po wykonaniu powyższego kodu w dokumencie pojawi się liczba 5.
Zmienne w funkcjach n n n Jeżeli stworzymy zmienną wewnątrz funkcji, jej wartość będzie za każdym wywołaniem ustawiana od początku: Function f() { $a=2; echo($a); $a++; } f(); Wykonanie tego kodu spowoduje pojawienie się dwa razy tego samego.
Zmienne w funkcjach n n n Jeżeli chcemy, żeby zmienna nie traciła wartości po zakończeniu funkcji, należy użyć polecenia static: Function f() { static $a=2; echo($a); $a++; } f(); Teraz w dokumencie pojawi się najpierw liczba 2, potem 3.
Zwracanie wartości n n n Function f($p) { return 3*$p; } $a=f(7); echo($a); /* $a ma wartość 21 */ /* można też od razu echo(f(7)); */ Po zwróceniu wartości kończy się wykonywanie funkcji
Plan prezentacji n n Krótkie wprowadzenie Składnia języka n Warunki n n i pętle Formularze i poczta Dostęp do plików Obsługa My. SQL Zadania
Instrukcja warunkowa if/else n n n if($a>$b) echo("$a jest if($a>$b) { echo("$a jest $a++; } if($a>$b) echo("$a jest else echo("$a jest większe od $b"); mniejsze lub równe $b");
Operatory logiczne n n || - alternatywa (lub) && - koniunkcja (i) ! - negacja (zaprzeczenie) $a=1; $a=3; if($a==1&&$b==2) echo("A"); if($a==1||$b==2) echo("B"); if(!($a==1&&$b==2)) echo("C"); Wynikiem będzie BC
Pętla while n n $a=0; while($a<5) { echo("$a "); $a++; } Powyższy skrypt wyświetli liczby od 0 do 4.
Pętla do. . while n n $a=0; do { echo("$a "); $a++; }while($a<5); Pętla do. . while różni się od pętli while tym, że najpierw wykonuje się pętla, a dopiero potem sprawdzany jest warunek.
Pętla for n for($a=0; $a<5; $a++) { echo("$a "); } n for($a=0; $a<5; echo("$a "), $a++); n To samo co wyżej zapisane inaczej
Instrukcje break i continue n n $a=0; while($a<10) { $a++; if($a==3) break; } Ta pętla nie wykona się 10 razy - gdy $a osiągnie wartość 3, wykonanie pętli zostanie przerwane.
Instrukcje break i continue n n Można też przejść do następnego powtórzenia służy do tego instrukcja continue: $a=0; while($a<10) { $a++; if($a==3) continue; echo("aaa"); /* ta instrukcja wykona się tylko gdy $a nie jest równe 3 */ }
Instrukcja switch n switch($a) { case 1: echo("a jest równe 1"); break; case 3: echo("a jest równe 3"); break; case 11: echo("a jest równe 11"); break; }
Plan prezentacji n n n Krótkie wprowadzenie Składnia języka Warunki i pętle n Formularze n n n i poczta Dostęp do plików Obsługa My. SQL Zadania
Obsługa formularzy n Skryptu PHP można użyć do obsługi formularza. Aby tego dokonać, należy najpierw odpowiednio przygotować formularz. W znaczniku FORM w parametrze ACTION należy podać adres dokumentu PHP mającego obsłużyć ten formularz. Parametr METHOD może mieć wartość POST lub GET - obie metody są obsługiwane przez PHP. Jednak należy pamiętać, że formularze wysyłane przez GET mają dość ograniczoną długość. Ich zaletą jest za to, że użytkownik może zrobić sobie zakładkę do wyników formularza, co nie jest możliwe w przypadku formularzy POST. Należy pamiętać o zdefiowaniu nazw wszystkich pól formularza z których skrypt ma skorzystać.
Obsługa formularzy n n n <FORM ACTION=skrypt. php METHOD=POST> <INPUT TYPE=TEXT NAME=tekst> </FORM> Napisanie skryptu obsługującego formularz jest bardzo proste. Właściwie większość pracy wykonuje za nas PHP - po prostu w skrypcie od razu będą dostępne zmienne o nazwach takich jak nazwy pól formularza, zawierające ich wartości: echo($tekst); /* ta linia wyświetli zawartość pola tekst z formularza */
Obsługa formularzy n W przypadku pola tekstowego będzie to po prostu wpisany przez użytkownika tekst. Jeżeli pole jest typu CHECKBOX wartością będzie "on" jeżeli pole jest zaznaczone, lub zmienna będzie pusta jeżeli pole nie zostało zaznaczone. Jeżeli w polu typu CHECKBOX podamy parametr VALUE, będzie on użyty zamiast "on". Tak samo wygląda obsługa pola typu RADIO. Wartością pola SELECT będzie wartość parametru VALUE zdefiniowanego w znaczniku OPTION.
Wysyłanie poczty n n mail(„adres 1 adres 2”, ”temat”, ”treść”); mail(„login@domena", "Wiadmość testowa", "Tutaj można wpisać tresć wiadomości. "); Ten przykład wyśle wiadomość na adres login@domena. Adresatów należy oddzielić spacjami.
Wysyłanie formularza pocztą n n n <FORM ACTION=skrypt. php METHOD=POST> <INPUT TYPE=TEXT NAME=email><BR> <TEXTAREA NAME=tresc></TEXTAREA><BR> <INPUT TYPE=SUBMIT> </FORM> Teraz skrypt który wyśle dane pocztą: mail("ty@twoj. serwer", "Formularz", $tresc adres zwrotny: $email);
Plan prezentacji n n Krótkie wprowadzenie Składnia języka Warunki i pętle Formularze i poczta n Dostęp n n do plików Obsługa My. SQL Zadania
Uprawnienia n Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie, jak użytkownik który go umieścił. Może też mieć uprawnienia użytkownika nobody - wtedy żeby móc ze skryptu zmodyfikować jakiś plik, trzeba nadać prawo zapisu wszystkim użytkownikom. Dokładne inforacje na ten temat powinien dostarczyć administrator serwera na którym umieszczamy skrypty
Otwieranie plików n n n n Przed wykonaniem jakiejkolwiek operacji na pliku, należy go otworzyć. Służy do tego funkcja fopen. Pobiera ona 2 argumenty - pierwszy to nazwa pliku który chcemy otworzyć. Drugi parametr może mieć następujące wartości: r - otwiera plik do odczytu r+ - otwiera plik do odczytu i zapisu w - kasuje zawartość pliku i otwiera go do zapisu w+ - kasuje zawartość pliku i otwiera go do zapisu i odczytu a - otwiera plik do dopisywania a+ - otwiera plik do dopisywania i odczytu
Otwieranie plików n n Co ciekawe, funkcja fopen może otworzyć plik na innym serwerze przez protokół http (tylko odczyt), lub ftp (odczyt lub zapis, ale nie jednocześnie). fopen zwraca liczbę, która służy do identyfikowania otwartego pliku. $file=fopen("file. txt", "r"); /* otwiera plik file. txt do odczytu */ $file=fopen("file. txt", "w"); /* otwiera plik do zapisu. Jeżeli plik nie istnieje, zostanie utworzony */ $file=fopen("ftp: //adres. serwera/plik", "r"); /* otwiera plik przez protokół ftp */
Otwieranie plików n n Po zakończeniu operacji na pliku, należy go zamknąć funkcją fclose, np: $file=fopen("file. txt", "r"); fclose($file);
Odczyt z pliku n n n $znak=getc($file); Funkcja odczytuje 1 znak z pliku Jeśli funkcja napotka koniec pliku, zwróci wartość FALSE. Po odczytaniu znaku, pozycja w pliku jest przesuwana o 1 do przodu. Dzięki temu, po kolejnym wywołaniu funkcji getc otrzymamy kolejny znak, a nie jeszcze raz ten sam.
Odczyt z pliku n n n $linia=fgets($file, $max. Len); Drugi parametr określa ile znaków funkcja może odczytać. Trzecią funkcją do odczytu z pliku jest fread. Działa ona podobnie do fgets, z tym że nie przerywa czytania gdy natrafi na znak nowej linii.
Zapis do pliku n n fwrite($file, $tekst, $max. Len); Funkcja ta zapisuje tekst podany jako 2 parametr do pliku identyfikowanego przez $file. 3 parametr jest opcjonalny i określa maksymalną długość tekstu, jaka może zostać zapisana.
Blokowanie plików n n n flock($file, mode); mode: 1 -dostęp do odczytu 2 -dostep do zapisu 3 -zwolnienie blokady
Inne funkcje n n n n n file_exists(nazwa) - sprawdza, czy istnieje plik o podanej nazwie filegroup(nazwa) - zwraca identyfikator grupy, do której należy plik fileowner(nazwa) - zwraca identyfikator właściciela pliku filesize(nazwa) - zwraca rozmiar pliku o podanej nazwie ftell($file) - zwraca pozycję w otwartym pliku is_readable(nazwa) - sprawdza, czy skrypt ma uprawnienia do odczytania pliku is_writeable(nazwa) - sprawdza, czy skrypt może zapisać do pliku mkdir(nazwa) - tworzy katalog o podanej nazwie readfile(nazwa) - wyświetla zawartość pliku
Prosty licznik tekstowy n if(file_exists("counter. n")) /* sprawdza, czy plik istnieje */ { $file=fopen("counter. n", "r"); /* otwiera plik */ flock($file, 1); /* blokuje plik */ $ile=fgets($file, 100); /* odczytuje wartość */ flock($file, 3); /* odblokowuje plik */ fclose($file); /* zamyka plik */ $ile++; /* zwiększa wartość o 1 */ } else $ile=1; /* jeśli plik nie istnieje, wyświetli się 1 */ $file=fopen("counter. n", "w"); /* otwiera plik do zapisu */ flock($file, 2); /* blokuje do zapisu */ fwrite($file, $ile); /* zapisuje wartość */ flock($file, 3); /* odblokowuje plik */ fclose($file); /* zamyka plik */ echo($ile); /* wyświetla wartość */
Plan prezentacji n n n Krótkie wprowadzenie Składnia języka Warunki i pętle Formularze i poczta Dostęp do plików n Obsługa n Zadania My. SQL
Zapytania n $zaptanie="twoje zapytanie"; $wykonaj=mysql_query($zapytanie); n Po takiej operacji zmienna $wykonaj będzie zawierać wartość TRUE, jeśli operacja powiedzie się, jeśli nie zwróci wartość FALSE.
Łączenie się z bazą danych n mysql_connect (nazwa_hosta: port, użytkownik, hasło); n $sql = mysql_connect(serwer. pl, abc, 123); n n Funkcja mysql_connect zwróci wartość TRUE, jeśli zakończy się sukcesem, jeśli nie powiedzie się - zwróci wartość FALSE. mysql_close($sql); //rozłączenie się z bazą
Tworzenie nowej bazy oraz jej wybieranie n mysql_create_db("zawodnicy"); n Tworzenie bazy danych. n mysql_select_db("zawodnicy"); n Wybieranie bazy danych.
Zagadnienia SQL n $zapytanie="CREATE DATABASE zawodnicy"; $wykonaj = mysql_query($zaptanie); n Bazę danych możemy stworzyć także za pomocą wyrażeń SQL w formie zapytania
Wyświetlanie wyników przeszukiwania tabeli n $zapytanie = "SELECT * FROM nazwa_tabeli"; $wykonaj = mysql_query($zaptanie); while($wiersz = mysql_fetch_array($wykonaj)) { print "Pole pierwsze". $wiersz['pole 1']. " "; print "Pole drugie". $wiersz['pole 2']. " "; print "Pole trzecie". $wiersz['pole 3']. " "; }
Plan prezentacji n n n Krótkie wprowadzenie Składnia języka Warunki i pętle Formularze i poczta Dostęp do plików Obsługa My. SQL n Zadania
Zadanie 1 n n Utworzyć tablicę dwuwymiarową Wyświetlić ją za pomocą tabeli tak, aby dwa sąsiednie wiersze miały różny kolor tła
Zadanie 1 n Utworzenie tablicy: $t[1][1]="Kowalski"; $t[1][2]="Jan"; $t[1][3]="1500"; $t[2][1]="Nowak"; $t[2][2]="Tomasz"; $t[2][3]="2100"; $t[3][1]="Smolarek"; $t[3][2]="Włodzimierz"; $t[3][3]="4300"; $t[4][1]="Wlazły"; $t[4][2]="Mariusz"; $t[4][3]="6600"; $t[5][1]="Lepper"; $t[5][2]="Andrzej"; $t[5][3]="54700";
Zadanie 1 n Wypisanie wierszy: for($i=1; $i<=5; $i++) { if ($i%2!=0) { $style="t 1"; } else { $style="t 2"; } echo"<tr>"; for($j=1; $j<=3; $j++) { echo” <td class="$style">". $t[$i][$j]. "</td>"; } echo"</tr>"; }
Zadanie 2 n Stworzyć stronę zabezpieczoną hasłem
Zadanie 2 n Zdefiniowanie hasła $haslo="ni"; n Formularz logowania echo” <form method="post„ action="zadanie 2. php"> <input type="password" name="haslo"/> <input type="hidden" name="wyslano" value="1"; /> <input type="submit" value="Loguj" /> </form> ”;
Zadanie 2 n Badanie poprawności hasła: $zalogowany=0; $wyslano=$_POST['wyslano']; if ($wyslano==1) { $proba=$_POST['haslo']; if($proba==$haslo) { $zalogowany=1; } else { echo"Błędne hasło!"; } }
Zadanie 2 n Wyświetlanie strony if ($zalogowany==1) { // zabezpieczona treść } else { // kod formularza }
Zadanie 3 n Stworzyć witrynę, której podstrony zachowują część kodu strony głównej
Zadanie 3 – użycie funkcji switch ($_GET['id']) { case ("1"): include ("1. txt"); break; case ("2"): include ("2. txt"); break; case ("3"): include ("3. txt"); break; default: include ("start. txt"); }
Zadanie 3 n Rozwiąż problem używając konstrukcji if
Koniec n Dziękujemy za uwagę
- Php/index.php?id=
- Php php://input
- Informatyka w budownictwie
- Teoretyczne podstawy informatyki
- Fc put
- Webquest historia
- Informatyka i ekonometria sggw
- Problem
- Elbox laboratorium informatyki
- Instytut informatyki uwr
- Studia wieczorowe uwr
- Początki informatyki
- Stozek dale'a
- Programowanie quiz
- Historia i rozwoj informatyki
- Programowanie imperatywne
- Teoretyczne podstawy informatyki
- Pollub katedra informatyki
- Xii lo im henryka sienkiewicza
- Roman number 1 to 12
- Modul agama katolik kelas 12 semester 2
- Shemot 11
- Solas chapter xii
- Integral substitusi
- Anno domini mdccxxxv
- Fons omnis publici privatique iuris
- Light tight dynamite test
- Planta gotica
- Stalag allemagne
- When i do count the clock that tells time
- Pope pius xii award
- Materi kelas xii semester 1
- Xii lo toruń
- Nerve hypoglossal
- Colegi pius xii
- Xii tablas
- Inferno canto xii
- Xiivdeo
- Ad altare dei
- Lecturas domingo xviii tiempo ordinario ciclo b
- Xii domenica del tempo ordinario anno b
- Tidslinje stormaktstiden
- Nervus xii
- Xii number
- Prokulianie
- Materi korosi kelas 12
- A real friend 2006
- Sentencia c-355 de 2006
- Pengiktirafan ukm 2006
- Monarch awards 2006
- Syawal 2006
- T trimpe 2006 http //sciencespot.net/ answer key
- Sexenio 2000 a 2006
- C- 355 de 2006
- Pengiktirafan ukm 2006
- Rdc 214 de 2006
- Jim rose review
- Substansi struktur kurikulum dalam kurikulum tahun 2004
- Monarch awards 2006
- 2006 - 1971
- Maturita 2006
- Ley 1098
- Jana 2006
- Friday prayer chant
- Giec 2006
- Apa hakikat fungsi dan tujuan pkn di sd
- T. trimpe 2006 http //sciencespot.net/ answer key