• Grupa PINO
  • Prv.pl
  • Patrz.pl
  • Jpg.pl
  • Blogi.pl
  • Slajdzik.pl
  • Tujest.pl
  • Moblo.pl
  • Jak.pl
  • Logowanie
  • Rejestracja

PHP BLOG

Strony

  • Strona główna
  • Księga gości

PHP BLOG 2

Rodzaje błędów

W każdym języku są 3 rodzaje błędów: składni, logiczne i wykonania

 

Błędy składni:

- Komunikaty o wystąpieniu błędu, np: parse error expected ';' in (sciezka do pliku) on line (linijka z błędem)

Błędy składni są najłatwiejsze do wykrycia, więc każdy sobie powinien z nimi poradzić.

Błędy logiczne:

- Brak żadnych komunikatów, po prostu pokazuje nie to co byśmy chcieli

Błędy logiczne są najtrudniejsze do wykrycia, ale na szczęście występują rzadko w kodzie.

Błędy wykonania:

Komunikaty, np.: main() [function.require]: Failed opening 'cos.php' (sciezka do pliku) on line (numer wiersza)

Są to błędy trudniejsze do poprawienia, chociaż nie aż takie straszne ; ).

 

Predefiniowane zmienne

 

Począwszy od wersji 4.1.0, PHP udostępnia zestaw predefiniowanych tablic, które zawierają zmienne serwera, zmienne środowiskowe oraz zmienne użytkownika. Tablice te są dość specyficzne, gdyż są one automatycznie globalne, tzn. automatycznie dostępne w każdym zasięgu. Dlatego nazywa się je "autoglobalami" albo "superglobalami". (W PHP nie ma mechanizmu pozwalającego użytkownikowi na definiowanie własnych superglobali.) - (informacja z www.php.net). Najczęściej wykorzystywane tablice opisane zostały poniżej.

PHP udostępnia dużą ilość predefiniowanych zmiennych dla każdego pracującego skryptu. 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. Niektóre z tych zmiennych nie będą dostępne dla skryptów PHP uruchomionych z linii poleceń.

Niezależnie od wymienionych czynników, poniżej przedstawiamy listę predefiniowanych zmiennych, dostępnych w typowej instalacji PHP 3, działającej jako moduł typowej instalacji Apache 1.3.6.

$GATEWAY_INTERFACE

Określa wersję specyfikacji CGI obsługiwaną przez serwer, np. "CGI/1.1".

$SERVER_NAME

Nazwa hosta serwera, na którym skrypt jest wykonywany. Jeśli skrypt pracuje na hoście wirtualnym (ang. virtual host), zmienna będzie zawierać nazwę hosta wirtualnego.

$SERVER_SOFTWARE

Napis identyfikujący serwer, wysyłany z nagłówkami przy odpowiedzi na zapytanie.

$SERVER_PROTOCOL

Nazwa i wersja protokołu informacyjnego, przez który zostało wysłane zapytanie, np. "HTTP/1.1".

$REQUEST_METHOD

Metoda, która została użyta przy zapytaniu o dokument, np. "GET", "HEAD", "POST".

$QUERY_STRING

Łańcuch zapytania (np. ?foo=bar), o ile istnieje, jaki został przesłany z zapytaniem o stronę.

$DOCUMENT_ROOT

Folder główny na serwerze, taki jak określony w pliku konfiguracyjnym serwera.

$HTTP_ACCEPT

Zawartość nagłówka Accept: z aktualnego zapytania, o ile taki występuje.

$HTTP_ACCEPT_CHARSET

Zawartość nagłówka Accept-Charset: z aktualnego zapytania, o ile taki występuje, np. "iso-8859-1,*,utf-8". 'iso-8859-1,*,utf-8'.

$HTTP_ACCEPT_ENCODING

Zawartość nagłówka Accept-Encoding: z aktualnego zapytania, o ile taki występuje, np. "gzip".

$HTTP_ACCEPT_LANGUAGE

Zawartość nagłówka Accept-Language: z aktualnego zapytania, o ile taki występuje, np. "en".

$HTTP_CONNECTION

Zawartość nagłówka Connection: z aktualnego zapytania, o ile taki występuje, np. "Keep-Alive".

$HTTP_HOST

Zawartość nagłówka Host: z aktualnego zapytania, o ile taki występuje.

$HTTP_REFERER

Adres strony (o ile występuje) z której przeglądarka przeszła do tej strony. Nagłówek jest tworzony przez przeglądarkę użytkownika; nie wszystkie przeglądarki udostępniają taką informację.

$HTTP_USER_AGENT

Zawartość nagłówka User_Agent: z aktualnego zapytania, o ile taki występuje. Jest to napis identyfikujący oprogramowanie klienckie używane do obejrzenia danej strony, np. Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Można użyć tej informacji w połączeniu z get_browser(), aby dopasować stronę do możliwości przeglądarki użytkownika.

$REMOTE_ADDR

Numer IP zdalnego użytkownika przeglądającego stronę.

$REMOTE_PORT

Port używany na zdalnej maszynie, przez który następuje komunikacja z serwerem.

$SCRIPT_FILENAME

Bezwzględna ścieżka do aktualnie wykonywanego skrytpu.

$SERVER_ADMIN

Wartość podana w dyrektywie SERVER_ADMIN (dla Apache'a) w pliku konfiguracyjnym serwera. Jeśli skrypt jest uruchomiony na hoście wirtualnym, wtedy będzie to wartość określona dla tego hosta wirtualnego.

$SERVER_PORT

Port na serwerze, używany przez serwer www do komunikacji. Domyślnie jest to "80"; przy użyciu SSL, na przykład, będzie to numer portu na którym odbywają się zabezpieczone połączenia HTTP.

$SERVER_SIGNATURE

Napis zawierający nazwę i wersję serwera, oraz nazwę wirtualnego hosta, który jest dodawany do stron generowanych przez serwer, o ile włączony.

$PATH_TRANSLATED

Bezwzględna ścieżka do pliku, oparta na systemie plików (a nie wychodząca z folderu głównego serwera), określona po wykonaniu przez serwer ewentualnego mapowania ścieżki wirtualnej do rzeczywistej.

$SCRIPT_NAME

Zawiera ścieżkę do aktualnego skryptu. Przydatne przy stronach, które mają wskazywać na siebie same.

$REQUEST_URIURI, który został podany, aby uzyskać dostęp do aktualnej strony, np. "/index.htmlPrzykład:$_SERVER['HTTP_USER_AGENT'

Zmienna ta zawiera sygnaturę przeglądarki, z której korzysta gość odwiedzający naszą stronę. Przy pomocy funkcji get_browser() możesz dowiedzieć się, co obsługuje przeglądarka gościa, a co nie i odpowiednio przygotować generowaną stronę.

 

Operatory

Operatory są to najprościej mówiąc symbole, które służą do operacji na zmiennych. Operatory dzielą się na operatory arytmetyczne, które służą do operacji na liczbach, operatory przypisania służące do przypisywania zmiennym wartości, operatory operacji bitowych, operatory porównania niezbędne do instrukcji warunkowych, operator kontroli błędów, operator wykonania służący do uruchamiania zewnętrznych programów, operatory inkrementacji i dekrementacji, operatory logiczne i operatory ciągu.

Operatory arymetyczne

Operator przypisania

Podstawowym operatorem przypisania jest symbol ‚=’. Oczywiście nie oznacza on ‚jest równe’. Wyrażenie $b = 5 oznacza, że zmienna $b przyjmuje wartość równą 5. Zmiennej można przypisać także wartość innej zmiennej: $b = 5; $a = $b; – zmienna $a przyjmie wartość 5.

Zmiennym można przypisywać nie tylko konkretne wartości, ale też wartości innych zmiennych. Wartości te można przypisywać kaskadowo, przy czym wartości przypisywane będą od prawej do lewej, np.:

W tym wypadku wszystkim zmiennym zostanie przypisana wartość 5. Operator przypisania można łączyć z operatorami arytmetycznymi i operatorem łączenia ciągów:

 

Operatory operacji bitowych

Operatory operacji bitowych pozwalają na przestawianie pojedyńczych bitów zmiennych. Poniższa tabelka przeznaczona jest dla osób, które miały już jakąkolwiek styczność z operacjami na bitach.

 

Operatory porównania

Operatory porównania są niezbędne do korzystania z instrukcji warunkowych (jeśli coś to zrób coś). Zwracają one wartość TRUE (prawda – 1) lub FALSE (fałsz – 0).

 

Operator kontroli błędów

Operator kontroli błędów (‚@’) powoduje, że wyrażenie przed którym postawiono ten znak nie spowoduje wyświetlenia się jakiegokolwiek błędu lub ostrzeżenia.

Operator wywołania

Operator ten służy do uruchamiania zewnętrznych programów lub poleceń powłoki. Wystarczy wpisać polecenie pomiędzy znaki odwróconego apostrofu (‚`’) aby zostało ono wykonane.

 

Operatory ikrementacji i dekrementacji

Operatory te występują w większości języków programowania. Służą one do zmniejszenia lub zwiększenia wartości danej zmiennej o 1. Każdy operator można stosować na 2 sposoby: preinkrementacja/predekrementacja – najpierw wartość zmiennej zostanie zmieniona, a później zwrócona, lub postinkrementacji/postdekrementacji – najpierw zostanie zwrócona wartość zmiennej, a następnie wartość zmiennej zostanie zmieniona.

 

Operatory logiczne

Operatory logiczne służą do budowania bardziej skomplikowanych instrukcji warunkowych – do łączenia kilku warunków w jednej instrukcji.

 

Operatory ciągu

Operator ciągu (‚.’ – kropka) służy do łączenia kilku ciągów w jedną całość.

 

 

11 maja 2020   Dodaj komentarz
PHP BLOG 2 J.Kowalczyk  
Do tej pory nie pojawił się jeszcze żaden komentarz. Ale Ty możesz to zmienić ;)

Dodaj komentarz

Jkowalczyk2001 | Blogi