Języki programowania wysokiego poziomu. PHP cz.3. Formularze



Podobne dokumenty
Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

Zajęcia 10 obsługa formularzy w PHP

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Przekazywanie danych. Dane zewnętrzne mogą pochodzić z róŝnych źródeł:

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Ćwiczenie: JavaScript Cookies (3x45 minut)

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

The OWASP Foundation Session Management. Sławomir Rozbicki.

Zmienne i stałe w PHP

Aplikacje internetowe - laboratorium

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Stosowanie ciasteczek (cookies)

Przykład programu w PHP. Wykład10.PHP ciągdalszy,str.1

Fundacja Ośrodka KARTA z siedzibą w Warszawie, przy ul. Narbutta 29 ( Warszawa),

Sklep internetowy wtspartner.pl dokłada wszelkich starań, aby prowadzony serwis ułatwiał każdemu użytkownikowi

Wprowadzenie do Internetu Zajęcia 5

Wykład 5: PHP: praca z bazą danych MySQL

Systemy internetowe Wykład 3 PHP

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

bla bla Guard podręcznik użytkownika

0.1 Logowanie do serwisu

Serwery aplikacji. dr Radosław Matusik. radmat

Języki programowania wysokiego poziomu. Forum

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Sesje i logowanie. 1. Wprowadzenie

Projektowani Systemów Inf.

Języki programowania wysokiego poziomu. Blog

Wysyłanie pliku na serwer. Plik na serwerze.

Internetowe bazy danych

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium

I.Wojnicki, PHP. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Ktedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie.

Dane - pobieranie, przekazywanie i przechowywanie. dr Beata Kuźmińska-Sołśnia

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Instrukcja korzystania z systemu poczty NetMail (wersja skrócona)

Sprawozdanie nr 4. Ewa Wojtanowska

Wykład 6: PHP: praca z bazą danych MySQL, cz.2

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

POLITYKA PRYWATNOŚCI SERWIS:

Bezpieczeństwo systemów komputerowych

Cookie Policy. 1. Informacje ogólne.

POLITYKA PRYWATNOŚCI ORAZ POLITYKA PLIKÓW COOKIES W Sowa finanse

Przewodnik użytkownika (instrukcja) AutoMagicTest

Serwis realizuje funkcje pozyskiwania informacji o użytkownikach i ich zachowaniach w następujący sposób:

Polityka prywatności serwisu

Internetowe bazy danych

Baza danych do przechowywania użytkowników

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Praca w programie dodawanie pisma.

I.Wojnicki, Tech.Inter.

Cemarol Sp. z o.o. Polityka prywatności (pliki cookies) 1. Informacje ogólne.

Należy ściągnąć oprogramowanie Apache na platformę

Publikowanie strony WWW

TIN Techniki Internetowe zima

Instrukcja konfiguracji funkcji skanowania

Internetowy System Składania Wniosków PISF wersja 2.2. Instrukcja dla Wnioskodawców

POLITYKA PRYWATNOŚCI. 1 Postanowienia ogólne

4. Podstawowa konfiguracja

Przewodnik użytkownika (instrukcja) AutoMagicTest

PHP: bloki kodu, tablice, obiekty i formularze

Formularze Pobierają dane od użytkownika strony i wysyłają je do przetworzenia na serwerze (gdzie potrzebne są skrypty,któredaneprzetworzą najczęściej

Instrukcja dla Szkolnego Administratora Systemu Antyplagiatowego Antyściąga.pl

Podręcznik użytkownika Publikujący aplikacji Wykaz2

Instrukcja Szkolnego Administratora Systemu Antyplagiatowego Plagiat.pl

Dokumentacja SMS przez FTP

Języki programowania wysokiego poziomu. Ćwiczenia

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2

11. Autoryzacja użytkowników

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Laboratorium 1 Wprowadzenie do PHP

Podręcznik Sprzedającego. Portal aukcyjny

Skrócona instrukcja obsługi grupowego portalu głosowego


Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

PODRĘCZNIK OBSŁUGI BUSINESSNET

Polityka prywatności dla strony ELCEN Sp. z o.o. z siedzibą w Gdyni

POLITYKA PRYWATNOŚCI

Regulaminu korzystania z serwisów internetowych i polityka prywatności

SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4

Plan. Stan sesji (1/2) Stan sesji (2/2) Stan sesji Tworzenie przycisku Integracja prostego formularza z raportem Tworzenie formularza z raportem

Windows Server 2008 Standard Str. 1 Ćwiczenia. Opr. JK. I. Instalowanie serwera FTP w Windows Server 2008 (zrzuty ekranowe z maszyny wirtualnej)

Instrukcja korzystania z systemu IPbaza. oraz konfiguracji urządzeń

Wersja dokumentu: Data: 28 kwietnia 2015r.

Instrukcja dla Uczelnianego Administratora Systemu Antyplagiatowego Plagiat.pl

POLITYKA COOKIES SERWISU CARDINA.PL

Polityka prywatności

Platforma e-learningowa

epuap Zakładanie konta organizacji

Ciasteczka. Krishna Tateneni Jost Schenck Polskie tłumaczenie: Suse Polska Aktualny opiekun tłumaczenia: Marcin Kocur

Instrukcja dla Kandydatów na staż w Projekcie SIMS

Przewodnik użytkownika (instrukcja) AutoMagicTest Spis treści

DESlock+ szybki start

Instrukcja obsługi/instalacji platformy Krok w Przedsiębiorczość Administrator platformy

Certyfikat niekwalifikowany zaufany Certum Silver. Instalacja i użytkowanie pod Windows Vista. wersja 1.0 UNIZETO TECHNOLOGIES SA

Komunikacja między klientem, a skryptem PHP, oraz operacje na plikach

Spis treści. Spis treści Wstęp Instalacja nazwa.pl Instalacja Home.pl Edycja grafiki strony logo...

Transkrypt:

Języki programowania wysokiego poziomu PHP cz.3. Formularze

Formularze Sposób przesyłania danych formularza do serwera zależy od wybranej metody HTTP: Metoda GET <form method="get" action="plik.php" enctype="application/x-www-form-urlencoded"> </form> Metoda POST <form method="post" action="plik.php" enctype="multipart/form-data"> </form>

Formularze Metoda GET Działanie dane z formularza są przesyłane w żądaniu HTTP: GET /action.php?name=value&name=value HTTP/1.1 Przeglądarka wyświetla dane formularza w pasku adresu: www.sth.com/action.php?name=value&name=value Cechy: + debugowanie, kontrola działania skryptów spacje i znaki spoza ASCII są kodowane ("+", "%HH") poufne dane są widoczne (bezpieczeństwo!) żądania są zapisywane w historii (bezpieczeństwo!) nie można przesyłać plików na serwer

Formularze Metoda POST Działanie dane z formularza są przesyłane w nagłówkach HTTP: POST /action.php HTTP/1.1 Host: www.sth.com name=value&name=value Przeglądarka nie wyświetla danych formularza w pasku adresu: www.sth.com/action.php Cechy: + poufne dane nie są widoczne ani zapisywane w historii + można przesyłać pliki na serwer dane nie są szyfrowane (pełne bezpieczeństwo -> HTTPS)

Formularze Odczyt danych z formularza Dane z formularza są odczytywane z żądania (met. GET) albo z nagłówka HTTP (met. POST) i dostępne w skrypcie, na kilka możliwych sposobów: - zmienne $name - tablice $HTTP_GET_VARS albo $HTTP_POST_VARS - tablice $_GET albo $_POST - tablica $_REQUEST Niezależnie od użytej metody, wszystkie wartości są przekazywane jako łańcuchy tekstowe.

Formularze Odczyt danych z formularza: zmienne $name Nazwy zmiennych pochodzą od atrybutu name kontrolek formularza, wartości tych zmiennych są zależne od kontrolki oraz działań użytkownika Warunek: odpowiednia opcja włączona w konfiguracji PHP Sposób nie zalecany ze względu na bezpieczeństwo HTML: <input type="checkbox" name="opcja" value="1"> <input type="text" name="text"> PHP: $o = $opcja; // "1" $t = $text; // to, co wpisał użytkownik

Formularze Odczyt danych z formularza: tablice $HTTP_???_VARS: Tablice $HTTP_GET_VARS oraz $HTTP_POST_VARS są tablicami asocjacyjnymi, gdzie klucze pochodzą od atrybutu name kontrolek formularza Warunek: odpowiednia opcja włączona w konfiguracji PHP HTML: <input type="checkbox" name="opcja" value="1"> <input type="text" name="text"> PHP: $o = $HTTP_POST_VARS ["opcja"]; $t = $HTTP_POST_VARS["text"];

Formularze Odczyt danych z formularza: tablice $_GET i $_POST: Tablice $_GET oraz $_POST są superglobalnymi tablicami asocjacyjnymi; klucze i wartości jak dla $HTTP_???_VARS Nie jest wymagana zmiana konfiguracji PHP Są superglobalne dostępne w każdym miejscu skryptu HTML: <input type="checkbox" name="opcja" value="1"> <input type="text" name="text"> PHP: $o = $_POST ["opcja"]; $t = $_POST ["text"];

Formularze Odczyt danych z formularza: tablic $_REQUEST: Tablica $_REQUEST zawiera dane z formularza (niezależnie od użytej metody HTTP POST albo GET), a dodatkowo wartości wszystkich plików Cookie (ciasteczek) Nie jest wymagana zmiana konfiguracji PHP Sposób nie zalecany ze względu na bezpieczeństwo HTML: <input type="checkbox" name="opcja" value="1"> <input type="text" name="text"> PHP: $o = $_REQUEST ["opcja"]; $t = $_REQUEST ["text"];

Obsługa formularzy Sposób wyświetlania formularza: na stronie serwisu index.php GET /index.php

Obsługa formularzy Sposób wyświetlania formularza: oddzielny skrypt PHP index.php form.php GET /index.php GET /form.php

Obsługa formularzy Sposób pozyskiwania danych: jeden formularz form.php answer.php GET /form.php POST /answer.php

Obsługa formularzy Sposób pozyskiwania danych: kilka formularzy form1.php form2.php answer.php GET /form1.php POST /form2.php POST /answer.php

Obsługa formularzy Sposób wyświetlania odpowiedzi: ten sam skrypt PHP form.php GET /form.php POST /form.php

Obsługa formularzy Sposób wyświetlania odpowiedzi: oddzielny skrypt PHP form.php answer.php GET /form.php POST /answer.php

Obsługa formularzy Sposób wyświetlania odpowiedzi: przekierowanie form.php check.php answer.php GET /form.php POST /check.php

Obsługa formularzy Błędna założenia programisty co do formularza: Użytkownik wypełnił wszystkie pola, wpisując formalnie poprawne i prawidłowe wartości Użytkownik wypełnił wszystkie pola Użytkownik ma prawo popełniać błędy, haker robi to celowo Użytkownik wchodzi na stronę po kliknięciu przycisku "Wyślij" Użytkownik może nieświadomie korzystać z historii przeglądarki lub zakładek, haker robi to celowo

Obsługa formularzy Błędna założenia programisty co do formularza: Użytkownik wypełnił wszystkie pola, wpisując formalnie poprawne i prawidłowe wartości Użytkownik wypełnił wszystkie pola Użytkownik ma prawo popełniać błędy, haker robi to celowo Użytkownik wchodzi na stronę po kliknięciu przycisku "Wyślij" Użytkownik może nieświadomie korzystać z historii przeglądarki lub zakładek, haker robi to celowo Tablica $_POST zawiera klucze i wartości (np. opcji) tylko takie, jak zdefiniowano w formularzu Haker może łatwo spreparować żądanie POST lub GET, z celowo zmienionymi nazwami i/lub wartościami

Obsługa formularzy Poprawny sposób obsługi formularzy: Sprawdzenie poprawności danych - należy sprawdzić, czy wszystkie wymagane dane zostały podane i czy są formalnie poprawne (np. hasło i powtórzenie, email ze znakami @ i. np. pik@am.pl) - wartości przypisane opcjom należy "kodować", aby nie dało się podstawić wartości przez sfabrykowanie żądania (np. if ($f==1) $filename="xxx.txt") Informacje krytyczne dla bezpieczeństwa - poufne dane nie mogą być przenoszone poprzez formularze (np. element <input type="hidden" value="user:root">) ani w plikach cookie, ponieważ można je podmienić zamiast tego należy używać sesji - dane o znaczeniu wyjątkowym dla bezpieczeństwa należy przesyłać wyłącznie przez bezpieczne łącze HTTPS

Obsługa formularzy Weryfikacja danych: dane poprawne form.php answer.php GET /form.php POST /answer.php

Obsługa formularzy Weryfikacja danych: dane niepoprawne form.php answer.php GET /form.php POST /answer.php

Obsługa formularzy Weryfikacja danych: dane poprawne form.php GET /form.php POST /form.php

Obsługa formularzy Weryfikacja danych: dane niepoprawne form.php GET /form.php POST /form.php

Obsługa formularzy Weryfikacja danych: dane poprawne form.php check.php answer.php GET /form.php POST /check.php

Obsługa formularzy Weryfikacja danych: dane niepoprawne form.php check.php answer.php GET /form.php POST /check.php <form method="post" onsubmit="check();">

Obsługa formularzy Weryfikacja danych: dane niepoprawne form.php check.php answer.php GET /form.php POST /check.php <form method="post" onsubmit="check();">

Ciasteczka Wykorzystanie plików cookie (ciasteczek): Protokół HTTP jest bezstanowy nie są zachowywane żadne informacje o zrealizowanej transakcji HTTP Śledzenie stanu nie może być zrealizowane wyłącznie przez serwer (nie ma jednoznacznej identyfikacji klienta) Istnieje mechanizm, który pozwala serwerowi zapisać dane po stronie klienta i potem je odczytywać są to pliki cookie (ciasteczka); Można ich użyć do śledzenia historii transakcji; Ciasteczka nie są w pełni bezpieczne nie należy ich używać do zapisywania informacji poufnych

Ciasteczka (1) Skrypt PHP generuje ciasteczko, które jest (2) przesyłane do przeglądarki, a następnie (3) zapisywane na dysku index.php (1) GET /index.php (2) (3)

Ciasteczka Przy kolejnym żądaniu (4) ciasteczko jest odczytywane, (5) przesyłane do serwera i (6) dostępne w skrypcie PHP index.php index.php (6) GET /index.php GET /index.php (5) (4)

Ciasteczka Obsługa ciasteczek w PHP: Tworzenie ciasteczka Do tworzenia ciasteczka służy funkcja setcookie: setcookie (nazwa, wartość, ); Uwaga! Ze względu na mechanizm przesyłania ciasteczek, funkcja setcookie musi być użyta zanim choć jeden znak zostanie umieszczony w strumieniu wyjściowym HTML <?php setcookie ("wizyta", $numer);?>!doctype Przed znacznikiem <?php nie może być choćby spacji; przed użyciem setcookie nie można użyć funkcji echo ani print

Ciasteczka Obsługa ciasteczek w PHP: Funkcja setcookie: setcookie (nazwa, wartość, termin, ścieżka, domena, protokół); Argumenty: - nazwa nazwa pliku cookie - wartość wartość zapisywana w pliku cookie - termin termin ważności; - ścieżka ścieżka zasobów, dla których plik cookie jest ważny - domena domena, dla której plik cookie jest ważny - protokół jeżeli "1", to cookie dotyczy tylko protokołu HTTPS

Ciasteczka Obsługa ciasteczek w PHP: Ważniejsze argumenty setcookie: Termin liczba sekund od 01.01.1970; - time() + sekundy ważny przez określony czas od teraz - time() 1 usunięcie pliku cookie - 0 tzw. plik cookie sesji, zapisywany w RAM zamiast dysku Ścieżka ścieżka w ramach witryny; - "/" cała witryna - "/press" tylko folder "/press" i jego podfoldery domyślnie folder z którego pochodzi skrypt ustawiający cookie setcookie (nazwa, wartość, time()+300, "/");

Ciasteczka Obsługa ciasteczek w PHP: Odczytanie ciasteczka Przeglądarka automatycznie przesyła ciasteczka w nagłówkach żądania HTTP. Parser PHP odczytuje ciasteczka i udostępnia je w skrypcie. Istnieje kilka metod odczytania wartości ciasteczek: - zmienne $name - tablica $HTTP_COOKIE_VARS - tablice $_COOKIE - tablica $_REQUEST Ze względów bezpieczeństwa zalecane jest korzystanie z tablicy $_COOKIE

Ciasteczka Odczytanie ciasteczka: tablica $_COOKIE: Tablica $_COOKIE jest superglobalną tablicą asocjacyjną, gdzie nazwy kluczy pochodzą od nazw ciasteczek <?php $zmienna = $_COOKIE['nazwa'];?> Jeżeli ciasteczka o podanej nazwie nie ma, zwracane jest NULL. Do sprawdzenia czy ciasteczko istnieje można użyć funkcji isset: <?php if (isset($_cookie['nazwa'])?>

Ciasteczka Obsługa ciasteczek w PHP: Odczytanie ciasteczka Jeżeli wartość ciasteczka ma być zmieniona, należy to zrobić jeszcze przed umieszczeniem choćby jednego znaku w HTML: <?php setcookie (nazwa, wartość); $zmienna = $_COOKIE['nazwa'];?> Uwaga! Użycie funkcji setcookie nie zmienia wartości ciasteczka zapisanej w tablicy $_COOKIE:

Sesje Wykorzystanie plików cookie (ciasteczek): Ciasteczka nie są w pełni bezpieczne nie należy ich używać do zapisywania informacji poufnych Większe bezpieczeństwo zapewnia mechanizm sesji dane (w tym poufne) są zapamiętywane po stronie serwera, zaś ciasteczko przechowuje tylko identyfikator sesji; Sesje również nie są w pełni bezpieczne dopóki dane (np. login i hasło, identyfikator sesji itp.) są przesyłane w postaci jawnej, można je przechwycić, czemu mechanizm sesji nie może zapobiegać Pełniejsze bezpieczeństwo zapewnia połączenie mechanizmu sesji, szyfrowania połączenia przez protokół HTTPS oraz działań zapobiegających atakom XSS (Cross-Site Scripting), a w tym konfiguracja PHP, odrzucanie obcych identyfikatorów sesji itd.

Sesje PHP (1) zapisuje dane sesji na dysku i generuje identyfikator, który (2) przesyła do przeglądarki jako plik cookie sesji index.php (1) GET /index.php (2)

Sesje Przy kolejnym żądaniu (3) przeglądarka odsyła cookie, zaś serwer (4) odnajduje dane na podst. identyfikatora sesji index.php index.php (4) GET /index.php (3) GET /index.php

Sesje Obsługa sesji w PHP: Tworzenie sesji Do tworzenia sesji służy funkcja session_start: session_start (); Uwaga! Ze względu na mechanizm przesyłania ciasteczek, funkcja session_start musi być użyta zanim choć jeden znak zostanie umieszczony w strumieniu wyjściowym HTML <?php session_start();?>!doctype Przed znacznikiem <?php nie może być choćby spacji; przed użyciem session_start nie można użyć funkcji echo ani print

Sesje Obsługa sesji w PHP: Funkcje dotyczące sesji: session_name (nazwa); session_name (); Ustawia nazwę sesji (domyślnie zazwyczaj PHPSESSID) lub ją odczytuje (jeżeli pominąć argument nazwa); Chcąc używać własnej nazwy sesji, należy użyć session_name zawsze przed wywołaniem session_start session_get_cookie_params (); Podaje parametry pliku cookie sesji, w postaci tablicy, np.: [lifetime]=>0, [path]=>"/", [domain]=>"", [secure]=>"" session_id (); Podaje aktualny identyfikator sesji; jest to wygenerowany losowo ciąg znaków ASCII (32 znaki)

Sesje Obsługa sesji w PHP: Zapis i odczyt stanu sesji PHP udostępnia stan sesji w superglobalnej tablicy $_SESSION Kiedy funkcja session_start jest użyta pierwszy raz (dla danego połączenia z klientem) tworzona jest początkowo pusta tablica $_SESSION. Skrypt może w niej zapisać dowolne dane: $_SESSION["userId"]=$userId; Kiedy funkcja session_start jest użyta kolejny raz, PHP odtwarza tablicę $_SESSION i można odczytać zapisane uprzednio dane: if (isset($_session["userid"]) $userid = $_SESSION["userId"]; Dostęp do danych sesji ma każdy skrypt w domenie

Sesje Obsługa sesji w PHP: Niszczenie sesji Przechwycenie identyfikatora sesji daje dostęp do usług na prawach uprawnionego użytkownika, dlatego niepotrzebne sesje powinny być niszczone: <?php session_destroy(); setcookie (session_name(), "", time()-1000); $_SESSION = array();?> Kolejne wykonanie skryptu z użyciem session_start powoduje utworzenie nowej sesji (z nowym identyfikatorem) PHP po jakimś czasie niszczy nieużywane sesje, ale nie można na tym polegać haker może wykorzystać nie zamkniętą sesję.

Sesje Wykorzystanie sesji: Śledzenie poczynań użytkownika Sesja może przechować dane o działaniach i decyzjach użytkownika, np. sklep internetowy ostatnio oglądane produkty, stan koszyka itp. Pamiętanie uprawnień użytkownika Sesja może przechować dane o uprawnieniach użytkownika, np. forum internetowe użytkownik zalogowany lub nie, nazwa konta, rodzaj konta (root/admin/moderator/user) itp. Pamiętanie danych z formularzy Sesja może przechować dane wprowadzane przez użytkownika do formularzy, np. sklep internetowy podczas kilkuetapowego procesu składania zamówienia można cofać się i poprawiać dane bez konieczności ich ponownego wpisywania, można sprawdzić czy formularz nie został wyświetlony na "skróty" itp.

Sesje Kilka formularzy bez sesji zbieranie danych jest trudne form1.php form2.php confirm.php

Sesje Użycie sesji ruch wprzód i wstecz bez utraty danych form1.php form2.php answer.php

Sesje Użycie sesji łatwe wykrywanie prób pominięcia formularza form1.php form2.php answer.php

Przekierowania Wykorzystanie przekierowań: Wykonanie pewnych działań (weryfikacja danych, zapis lub odczyt danych w bazie danych, wykonanie obliczeń itp.) bez wyświetlania dokumentu HTML i następnie skierowanie użytkownika na jedną z kilku stron, zależnie od rezultatów wykonanych działań, np.: - rejestracja użytkownika: po sprawdzeniu poprawności danych użytkownik jest przełączany do strony potwierdzającej rejestrację docelowej lub ponownie do formularza rejestracji - logowanie: po weryfikacji nazwy konta i hasła, użytkownik jest przełączany do strony docelowej lub ponownie do strony logowania (albo po trzeciej próbie blokowany) - wylogowanie: skrypt wykonuje czynności wylogowania po czym użytkownik jest przełączany do strony głównej

Przekierowania Mechanizm przekierowania form.php check.php answer.php GET /form.php POST /check.php

Przekierowania Obsługa przekierowania w PHP Realizacja przekierowania Przekierowanie realizuje funkcja header, która służy do dołączania dowolnych nagłówków do odpowiedzi HTTP. Przekierowania dokonuje nagłówek HTTP "Location": header ("Location: adres"); Uwaga! Ze względu na mechanizm działania funkcji header, musi ona być użyta zanim choć jeden znak zostanie umieszczony w strumieniu wyjściowym HTML <?php if (warunek) header ("Location: adres");?> Przed znacznikiem <?php nie może być choćby spacji; przed użyciem setcookie nie można użyć funkcji echo ani print

Przekierowania Obsługa przekierowania w PHP Realizacja przekierowania W nagłówku "Location" najlepiej jest podać pełen adres zasobu internetowego. Do jego utworzenia można wykorzystać dane zapisane w tablicy $_SERVER: <?php if (warunek) { $address = "http://". $_SERVER["HTTP_HOST"]. "/ścieżka/docelowy.php"; header ("Location: $address"); }?>