Paweł Rajba pawel@ii.uni.wroc.pl http://www.ii.uni.wroc.pl/~pawel/ Kurs WWW – wykład 7 Paweł Rajba pawel@ii.uni.wroc.pl http://www.ii.uni.wroc.pl/~pawel/

Slides:



Advertisements
Podobne prezentacje
Funkcje w PHP ABK.
Advertisements

Katarzyna Szafrańska kl. II ti
Język C/C++ Funkcje.
Prowadzący: mgr inż. Elżbieta Majka
Marcin Celiński grudzień 2000
Wprowadzenie do języka skryptowego PHP
Wprowadzenie do języka skryptowego PHP – cz. 2
Narzędzia internetowe Paweł Rajba ttp://pawel.ii.uni.wroc.pl/
Języki programowania C++
PROGRAMOWANIE STRUKTURALNE
formatowanie kodu źródłowego
OOPSmalltalk - stałe, klasy, bloki, instrukcje sterujące1 Komunikaty do self Odbiorcą jest obiekt, w którym wykonuje się ten komunikat Szukanie metody.
Instrukcje Instrukcja : definicja obliczenia i określenie sposobu wykonania tego obliczenia. Program : ciąg instrukcji wykonywanych kolejno od pierwszej.
Tablice.
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
Kurs WWW – wykład 5 Paweł Rajba
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Technologie Internetowe
Wykład 2 struktura programu elementy języka typy zmienne
Proponowany program wykładu monograficznego
PHP wprowadzenie.
dr Anna Kwiatkowska Instytut Informatyki
Wprowadzenie do programowania w języku Turbo Pascal
Podprogramy.
Typy złożone, case, stałe. Typ zbiorowy type typ_zb = set of typ_podstawowy; Typem podstawowym może być tylko typ porządkowy. Typem podstawowym może być
Narzędzia internetowe Paweł Rajba ttp://pawel.ii.uni.wroc.pl/
Narzędzia internetowe Paweł Rajba
Język PHP Wprowadzenie.
AWK Zastosowania Informatyki Wykład 1 Copyright, 2003 © Adam Czajka.
Podstawy C# Grupa .NET PO.
Podstawy programowania
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
SQL – podstawowe funkcje
Podstawy programowania
A ctive S erver P ages Technologia dostępu do danych.
Podstawy programowania. Język C i C++– podstawy Temat: 1
Programowanie w języku Matlab
PHP: warunki, pętle, switch, break, continue
Technologie internetowe II
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Jerzy Kotowski Politechnika Wrocławska
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
C# Platforma .NET CZ.3 Kuba Ostrowski.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 3.
Podstawy informatyki 2013/2014
Edytor tesktu i skrypty
Programowanie baz danych
Komendy SQL do pracy z tabelami i bazami
Visual Basic for Applications Poziom podstawowy Zajęcia 2
Projektowanie stron WWW
Podstawy języka Instrukcje - wprowadzenie
Zmienne i typy danych w C#
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Programowanie proceduralne Podstawy Programowania dla geoinformatyków Wykład 3 Rafał Witkowski, 2015.
Obiekty DOM.
Podstawy języka skryptów
Temat 5: Instrukcje: print(), echo()
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
1 Opisy funkcji Adres strony WWW : html (należy odszukać hyperlink Function Index) (
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Czym jest PHP? ● Językiem programowania przeznaczonym do tworzenia i generowania dynamicznych stron WWW. Działa po stronie serwera: Klient Żądanie strony.
PHP (wstęp) Personal Home Page Tools (PHP Tools)
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Dane, zmienne, instrukcje
Zapis prezentacji:

Paweł Rajba pawel@ii.uni.wroc.pl http://www.ii.uni.wroc.pl/~pawel/ Kurs WWW – wykład 7 Paweł Rajba pawel@ii.uni.wroc.pl http://www.ii.uni.wroc.pl/~pawel/

PHP – Wprowadzenie Akronim rekursywny "PHP: Hypertext Preprocessor" Tworzonym na zasadach Open Source Dostępny jako moduł lub CGI pod wieloma platformami: Unix, Linux, Windows, MacOS z wieloma serwerami HTTP: Apache, IIS, iPlanet, Xitami, OmniHTTPd

PHP – Wprowadzenie Język skryptowy uruchamiany po stronie serwera (ewentualnie po stronie klienta) Możliwość zagnieżdżania znaczników HTML PHP może generować dowolny kod, czyli poza HTML np. XML lub nawet obrazki

PHP – Pierwszy przykład <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Przykładzik</title> </head> <body> <?php echo "Oto przykład pierwszy."; ?> </body> </html>

PHP – sposoby użycia Skrypty po stronie serwera serwer WWW parser PHP przeglądarka Skrypty z linii poleceń zastosowanie do przetwarzania tekstu uruchamiane w cronie lub menedżerze zadań Aplikacje po stronie klienta (np. PHP-GTK)

PHP i bazy danych Adabas D Ingres Oracle (OCI7 i OCI8) dBase InterBase Ovrimos Empress FrontBase PostgreSQL FilePro mSQL SolidHyperwave Direct MS-SQL Sybase IBM DB2 MySQL Velocis Informix ODBC Unix dbm

PHP – osadzanie skryptów <? echo "To jest skrypt"; ?> <?= "To jest ten sam skrypt"; ?> <?php echo "W XHTML i XML lepiej tak"; ?> <% echo "To znowu jest skrypt"; %> <%= "To znowu jest ten sam skrypt"; %> <script language="php"> echo "Można też tak"; </script>

PHP – kilka uwag Instrukcje należy kończyć średnikiem PHP poza trybem "PHP" przepisuje tekst bez zmian Komentarze //, # – jednowierszowe /* ... */ – blokowe

PHP – zmienne Zmienne są dynamicznie typowane Poprzedzamy znakiem $ W nazwach małe i wielkie litery są rozróżniane <? $Imie = "Jas"; $imie = " Marysia"; $Nazwisko = " Rozpita"; echo $Imie, $imie, $Nazwisko; ?>

PHP – zmienne Przypisanie przez referencję: <? $halasuje = "Zmyłer"; $sondaze = &$halasuje; $sondaze = "Pepler"; echo $halasuje." i prowadzi ".$sondaze; ?> Tylko nazwane wyrażenia mogą być przypisane przez referencję <? $heja = &(666*69); ?> // ŹLE

PHP – funkcje do zmiennych get_defined_vars get_resource_type doubleval floatval strval is_array is_bool is_callable is_double is_float is_int is_integer is_long is_numeric is_object is_real is_resource is_scalar is_string is_null print_r settype serialize unserialize isset unset

PHP – stałe Definiujemy za pomocą funkcji define() bool define(string nazwa, mixed wartość [, bool case_insensitive]) <? define(STALA,"Ahoj!!!"); echo Stala; // Stala define(STALA,"Ahoj!!!",true); echo Stala; // Ahoj!!! ?>

PHP – stałe Sprawdzamy czy zdefiniowana za pomocą funkcji defined() bool defined (string nazwa_stalej) <? define(STALA,"Ahoj!!!",true); echo(defined('Stala') ? "Jest" : "Nie jest"); ?>

PHP – stałe Funkcja mixed constant(string name) pobiera wartość stałej Funkcja array get_defined_constants() pobiera tablicę stałych <? print_r(get_defined_constants()); ?>

PHP – typy danych Skalarne boolowski: boolean liczby całkowite: integer liczby zmiennoprzecinkowe: float łańcuchy znaków: string

PHP – typy danych Złożone Specjalne tablice: array obiekty: object identyfikatory zasobów: resource puste: null

PHP – typy danych Boolowski: TRUE,FALSE Liczby całkowite: 1234,-123,0123,0xABC Liczby zmiennoprzecinkowe: 1.2,3E-2 Łańcuchy znaków pojedyncze cudzysłowy podwójne cudzysłowy składnia heredoc

PHP – więcej o napisach Podwójne cudzysłowy powoduje zamianę nazwy zmiennej na jej wartość Znaki specjalne: \n, \r, \t, \\, \$, \" Składnia heredoc $s = <<<EOD To jest taki sobie\n napis żeby było EOD; Offset: $s{0}, $s[5]

PHP – przykłady echo 'Tekst' echo 'To jest \'cytat\' stulecia' echo 'Taki "\'c\'u\'ś\'" inny' echo 'Tak \n nie zadziała' $zmienna = "papier" echo "$zmienna" echo "${zmienna}owe torebki"

PHP – tablice Konstruktor array array( [klucz =>] wartość, ...) klucz – napis lub nieujemna liczba całkowita wartość – cokolwiek Przypisywanie wartości $tablica[klucz] = wartość; $arr[] = wartość; // kluczem będzie kolejna liczba

PHP – tablice Usuwanie pary (klucz, wartość) $a = array(1 => 'jeden', 2 => 'dwa', 3 => 'trzy' ); unset($a[2]); /* to tak, jakby utworzyć tablicę: $a = array(1 => 'jeden', 3 => 'trzy'); ale NIE: $a = array(1 => 'jeden', 2 => 'trzy'); */

PHP – tablice $wypasiona_zmienna = array( "owoce" => array("a" => "pomarańcza", "b" => "banan", "c" => "jabłko"), "liczby" => array(1,2,3,4,5,6), "dziury" => array( "pierwsza", 5 => "druga", "trzecia") ); $x = $wypasiona_zmienna['dziury'][5];

PHP – obiekty <?php class kasa{ function rabuj() { echo "Rabujemy kase..."; } $bzwbk = new kasa(); $bzwbk->rabuj(); ?>

PHP – if, else, elseif <?php if ($var > 5) { $answ = $var1; } else {   $answ = $var2; } ?> $answ = ( $var > 5 ? $var1 : $var2 );

PHP – if, else, elseif <?php if (wyrazenie-logiczne) { ?> <strong>prawda</strong> } else { <strong>fałsz</strong> }

PHP – if, else, elseif if ($a > $b) { print "a jest większe niż b"; } elseif ($a == $b) { print "a jest równe b"; } else { print "a jest mniejsze niż b"; } <?php if ($a == 5): ?> A jest równe 5 <?php endif; ?>

PHP – pętla while..do $i = 1; while ($i <= 10) { print $i++; } endwhile;

PHP – pętla do..while $i = 0; do { print $i; } while ($i>0);

PHP – pętla for for ($i = 1; $i <= 10; $i++) { print $i; } if ($i > 10) break; $i = 1; for (;;) { print $i++; for ($i = 1; $i <= 10; print $i, $i++);

PHP – petla foreach foreach(tablica as $wartość) wyrażenie foreach(tablica as $klucz => $wartość) wyrażenie $a = array(1, 2, 3, 17); foreach ($a as $v) { print "Aktualna wartość \$a: $v.<br>\n"; } foreach ($tabl as $key => $value) { echo "Klucz: $key; Wartość: $value<br>\n";

PHP – petla foreach $a = array ( "jeden" => 1, "dwa" => 2, "trzy" => 3, "siedemnaście" => 17 ); foreach($a as $k => $v) { print "\$a[$k] => $v.\n"; }

PHP – petla foreach $a[0][0] = "a"; $a[0][1] = "b"; $a[1][0] = "y"; $a[1][1] = "z"; foreach($a as $v1) { foreach ($v1 as $v2) { print "$v2\n"; } foreach(array(1, 2, 3, 4, 5) as $v) { print "$v\n";

PHP – break, continue Break i continue akceptuje opcjonalny argument, który mówi, ile zagnieżdzonych struktur kontrolnych ma zostać opuszczonych w danym momencie $i=0; while (++$i) { for ($j=0; $j<10; $j++) if ($i*$j==12) break 1; if ($i*$j==69) break 2; }

PHP – switch <? switch ($i): case 0: print "i jest równe 0"; break; default: print "i jest różne od 0 i 1"; endswitch; ?>

PHP – switch <? $imie = 'ala'; switch ($imie) { case 'ala': echo "ma kota"; break; case 'zuzia': echo "nic nie ma"; break; default: echo "reszta się nie liczy"; } ?>

PHP – return, ... Instrukcja return(): wywołana z wnętrza funkcji, natychmiastowo kończy wykonywanie tej funkcji i zwraca jako jej wartość swój argument. Składnia alternatywna: dostępna dla poleceń if, while, for, foreach i switch. Polega na zamianie nawiasu otwierającego { na dwukropek, a nawiasu zamykającego } na słowo endif, endwhile, endfor, endforeach i endswitch odpowiednio.

PHP – zewnętrzne pliki Instrukcje Czym to się różni? include() require() include_once() require_once() Czym to się różni?

PHP – zewnętrzne pliki vars.php <?php $kolor = 'zielone'; $owoc = 'jabłko'; ?> test.php echo "Jedno $kolor $owoc"; // Jedno include 'vars.php'; echo "Jedno $kolor $owoc"; // Jedno zielone jabłko

PHP – obsługa napisów void echo string s1 [, string sn ...] wypisuje s1, ..., sn echo "ala","ma kota" string ltrim(string str [, string charlist]) usuwa białe znaki z początku str; opcjonalnie można podać w charlist jakie znaki ma usunąć domyślnie usuwa: " ", "\t", "\n", "\r", "\0", "x0B" (ASCII: 32, 9, 10, 13, 0, 13)

PHP – obsługa napisów string rtrim(string str [, string charlist]) usuwa białe znaki z końca str string trim(string str [, string charlist]) usuwa białe znaki z obu stron str string chr(int ascii) zwraca string zawierający znak o kodzie określonym w ascii int ord(string str) zwraca kod pierwszego znaku z str

PHP – obsługa napisów int strcmp(string str1, string str2) jeśli str1<str2, to zwraca -1 jeśli str1>str2, to zwraca 1 jeśli str1=str2, to zwraca 0 int strpos(string gdzie, string co [, int offset]) wyszukuje pierwszego wystąpienia co w gdzie jeśli co nie występuje w gdzie zwracane jest coś równoważne FALSE jeśli podamy offset, to wyszukiwanie rozpocznie się od pozycji określonej przez offset.

PHP – obsługa napisów funkcja strpos() – przykład $napis = 'abc'; $szukaj = 'a'; $pos = strpos($napis, $szukaj); if ($pos === false) { // WAŻNE echo "Nie znaleziono"; } else { echo "Znaleziono na pozycji $pos"; }

PHP – obsługa napisów int strrpos(string gdzie, char co) działa podobnie do strpos() tylko, że wyszukuje od prawej strony możemy wyszukiwać tylko pojedynczy znak int strlen(string s) zwraca długość s string strtolower(string str) zwraca str z powymienianymi wielkimi literami na małe

PHP – obsługa napisów string strtoupper(string str) zwraca str z powymienianymi małymi literami na wielkie string strstr(string str1, string str2) zwraca część str1 od pierwszego wystąpienia str2 $email = 'pawel@wp.pl'; $domena = strstr($email, '@'); echo $domena; // @wp.pl

PHP – obsługa napisów string substr(string str, int start [, int length]) zwraca length znaków str od pozycji start; domyślnie length jest do końca str echo substr("abcdef", 1); // "bcdef" echo substr("abcdef", 0, 4); // "abcd" echo substr("abcdef", 0, 8); // "abcdef" int substr_count(string str1, string str2) zwraca ilość wystąpień str2 w str1 echo substr_count("aaaaa","aa") // 2

PHP – obsługa napisów int substr_replace(string s1, string s2, int start [, int length]) wymienia w s1 część długości length i zaczynającą się w start na s2 echo substr_replace("Łosie mają w nosie","grają na",6,6); // Łosie grają na nosie

PHP – obsługa napisów array explode(string separator, string str [, int limit]) dzieli str względem separator jeśli ustawimy limit, to tablica wynikowa będzie zawierała co najwyżej limit elementów, w ostatnim resztę str $liczby = "1,23,32,44"; $tablica = explode(",", $liczby); echo $tablica[1]; // 23

PHP – obsługa napisów string implode(string glue, array pieces) tworzy string zawierający po kolei elementy z pieces rozdzielone glue $tab = array('osoba','email','tel'); $lista = implode(",", $array); echo $lista; // osoba,email,tel string strrev(string str) odwraca str echo strrev("Kilof"); // "foliK"

PHP – obsługa napisów string strip_tags(string str [, string dobre_tagi]) usuwa z str tagi HTML poza tymi określonymi w dobre tagi $s = strip_tags($string,'<a><b><i><u>') string wordwrap (string str [, int width [, string break [, boolean cut]]]) łamie str w białych znakach do długości width, słowem break jeśli chcemy przecinać za długie słowa, to cut ustawiamy na 1

PHP – obsługa napisów funkcja wordwrap() – przykład $text = "Bardzo długie i nie za fajne słooooooooooooooooooooowo"; $lepszytekst = wordwrap($text, 8, "<br>\n"); echo "$newtext" Bardzo długie i nie za fajne słooooooooooooooooooooowo

PHP – obsługa napisów funkcja wordwrap() – przykład $text = "Bardzo długie i nie za fajne słoooooooooooooooooooowo"; $goodtekst = wordwrap($text,8,"<br>\n"); echo "$goodtext" Bardzo długie i nie za fajne słoooooooooooooooooooowo

PHP – obsługa napisów funkcja wordwrap() – drugi przykład $goodtext = wordwrap($text,8,"<br>\n",1); echo "$goodtext" Bardzo długie i nie za fajne słoooooo oooooooo oooooowo

PHP – obsługa napisów string addslashes (string str) dodaje znak "\" tam gdzie to jest potrzebne $str = "Is your name O'reilly?"; // Is your name O\'reilly? echo addslashes($str); string addcslashes (string str, string charlist) dodaje znak "\" przed każdy znak z charlist $text = "Ala ma kota"; echo addcslashes($text, "ma"); // Al\a \m\a kot\a

PHP – obsługa napisów string nl2br(string str) zwraca str z wstawionymi <br /> przed każdym "\n" string htmlspecialchars ( string string [, int quote_style [, string charset]]) wymienia znaki: <, >, &, ", ' na ich kody: < > & " ' ' wymienia, jeśli włączone ENT_QUOTES " wymienia, jeśli wyłączone ENT_NOQUOTES

PHP – obsługa napisów string md5(string str) oblicza MD5 hash od str string md5_file (string filename [, bool raw_output]) oblicza MD5 hash pliku podanego jako parametr string bin2hex (string str) zamienia ciąg binarny na heksadecymalną reprezentację