PHP HTML

PHP PODSTAWY

<?php

$liczba = 'foo';

IF (isset($liczba) and is_numeric($liczba))

{

echo 'Zmienna liczba przechowuje wartość liczbową';

}

elseIF(isset($liczba) and !is_numeric($liczba))

{

echo 'Zmienna liczba nie przechowuje liczby';

}

else

{

echo 'Zmienna liczba nie istnieje';

}

Tutaj mamy już kilka nowości. Funkcja isset zwróci wartość prawda jeżeli podana zmienna istnieje. Funkcja is_numeric zwróci wartość prawda jeżeli podana zmienna przechowuje wartość liczbową. Operator "and" oznacza "oraz" czyli pierwszy i drugi parametr muszą być spełnione. Tak więc mamy: Jeżeli $liczba istnieje i (and) jest liczbą to "Zmienna liczba przechowuje wartość liczbową" w przeciwnym wypadku jeżeli $liczba istnieje i nie jest liczbą "Zmienna liczba nie przechowuje liczby", jeżeli i ten warunek nie spełniony to oznacza że $liczba nie istnieje.

UWAGA: znak ! przed is_numeric oznacza "zaprzeczenie", patrz ściągawka:

$x == $y : znak równości (czy zmienne są równą)

$x != $y : znak różności (czy zmienne są różne, dla funkcji zwracających wartość prawda/fałsz ! jest przed ich nazwą)

$x > $ y : czy $x jest większe od $y (tak samo < oraz <= oznacza większe równe, >= mniejsze równe)

Instrukcja SWITCH - CASE - BREAK

Duża ilość elseIF w instrukcji zwalnie działanie skryptu i nie wygląda za dobrze. Możemy to "naprawić" stosując inne wyrażenie warunkowe

<?php

$liczba = 3;

switch ($liczba)

{

case 1:

echo 'mamy 1';

break;

case 2:

echo 'mamy 2';

break;

case 3:

echo 'mamy 3';

break;

case 4:

echo 'mamy 4';

break;

case 'foo':

echo 'mamy foo';

break;

default:

echo 'Mamy coś innego';

}

Jest to "inna" forma IFa z kilkoma elseIF. Instrukcja zaczyna się od "switch ($ZMIENNA)". Następnie w nawiasie {} podajemy przypadki (case) wartości zmiennej. Jeżeli zmienna ma taką wartość to wykonany zostanie kod przypisany do tej wartości. break;kończy wykonywanie instrukcji. default: to odpowiednik else. Kod przypisany pod default wykona się gdy żaden z listy warunków nie zostanie spełniony.

Pętla FOR

Pętla for wykona określoną ilość razy przypisany jej kod aż warunek pętli przestanie być prawdziwy:

<?php

for($count = 1; $count <= 10; $count++)

{

echo 'klonujemy<br />';

}

Mamy: for(wartość początkowa; wartości dla których wykonywać; postęp). Zacznij pisać "klonujemy" gdy $count przyjmie wartość 1 i pisz to aż $count przestanie być mniejsza/równa 10; zwiększa wartość $count o jeden. Należy unikać długich pętli gdyż długo się wykonują. Jeżeli po napisaniu pętli kod przypisany jej ciągle się wykonuje to znaczy że źle zdefiniowaliśmy warunek i pętla będzie działać w nieskończoność (zazwyczaj aż przekroczony zostanie maksymalny czas wykonywania skryptu).

Pętla WHILE

Pętla WHILE (i DO WHILE) są prostszą wersą pętli for.

<?php

while ($count <= 10)

{

$count++;

echo 'klonujemy<br />';

}

Jako parametr podajemy tylko warunek przy którym wykonywać kod. Coś co zmieni warunek wykonywania kodu na fałsz ($count++) musi być umieszczone poza "parametrami" pętli, np. w kodzie przypisanym do wykonania.

Wymagania stawiane dokumentom XHTML

  1. Dokumenty XHTML muszą spełniać ograniczenia podane w DTD (Document Type Definition - Definicja Typu Dokumentu).

  2. Elementem podstawowym (root) w dokumencie musi być html.

  3. Element podstawowy (html) musi zawierać deklarację xmlns identyfikującą przestrzeń nazw XHTML, która stanowi zbiór nazw używanych w dokumencie jako typy elementów i nazwy atrybutów:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">

  1. W dokumencie obowiązkowo musi być wstawiona deklaracja typu dokumentu przed elementem podstawowym (czyli przed html). W języku XHTML 1.0 są trzy możliwe do zastosowania wersje DTD:

    • Strict (ścisła)

<!DOCTYPE html

PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!DOCTYPE html

PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!DOCTYPE html

PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

  1. Natomiast XHTML 1.1 dopuszcza tylko jedną wersję DTD:

<!DOCTYPE

html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Deklaracja XML w postaci (zarówno dla XHTML 1.0 jak i XHTML 1.1):

<?xml version="1.0" encoding="UTF-8"?>

nie jest wymagana, ale mocno zaleca się jej stosowanie. Taka deklaracja jest wymagana, jeśli kodowanie znaków w dokumencie jest inne niż UTF-8 i UTF-16, a jednocześnie kodowanie nie jest określone przez żaden protokół wyższego rzędu, jak np. nagłówek HTTP "Content-Type" wysyłany przez serwer.

Oto przykład typowego dokumentu XHTML (1.0) z dołączoną deklaracją XML:

<?xml version="1.0" encoding="ISO-8859-2"?>

<!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" xml:lang="pl" lang="pl">

<head>

<title>Tytuł dokumentu</title>

</head>

<body>

<p>Przejdź do <a href="http://example.org/">example.org</a>.</p>

</body>

</html>

Na serwerach obsługujących skrypty PHP (pliki z rozszerzeniami *.php) po wpisaniu deklaracji XML może wystąpić błąd. Aby go uniknąć, należy zamiast deklaracji XML wpisać:

<?php echo '<'.'?xml version="1.0" encoding="UTF-8"?'.'>'."\n"; ?>

Niektóre przeglądarki mogą nie interpretować deklaracji XML i z tego powodu wyświetlać dokument w sposób nieoczekiwany. Wpisanie deklaracji XML w przeglądarce MSIE 7.0 i starszych powoduje przełączenie w tryb Quirks.

Podanie tej deklaracji nie jest obowiązkowe, jednak wtedy dokument może mieć tylko domyślne kodowanie znaków: UTF-8 lub UTF-16, chyba że serwer prześle odpowiedni nagłówek HTTP "Content-Type". W celu zapewnienia kompatybilności wstecz powinno się dodać w nagłówku dokumentu również tradycyjną deklarację strony kodowej, np.:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />

Maksymalna ilość znaków, które można wpisać do pola:

<input type="text" name="nazwa" maxlength="n" />

gdzie jako "n" podaj maksymalną dopuszczalną ilość liter, z których może składać się odpowiedź - użytkownik nie będzie mógł wpisać dłuższego tekstu.

Metoda GET

Co to jest metoda GET?
Metoda ta jest stosowana głównie w formularzach, aczkolwiek nie tylko. Polega ona na pobieraniu danych z paska adresu przeglądarki. Jest ona raczej rzadziej stosowana niż metoda POST z racji na bezpieczeństwo, lecz nadal w wielu miejscach można ją spotkać.

Stosowanie w formularzach
Aby formularz przesłany był metodą GET należy to zadeklarować w podany niżej sposób:
<form action="jakisplik.php" method="get">

Kiedy wyśle się taki formularz, w następnym dokumencie po nazwie pliku otrzymamy dane. Przykład:
<form action="jakisplik.php" method="get">

Podaj imię: <input type="text" name="imie" /><br />

Podaj wiek: <input type="text" name="wiek" /><br />

<input type="submit" value="Wyślij" />

</form>

Po wykonaniu tego formularza otrzymamy adres dokumentu z przykładowymi danymi:
http://jakas-domena.pl/jakisplik.php?imie=Janek&wiek=15

Stosowanie w odnośnikach
Aby zastosować metodę GET, można użyć także zwykłych odnośników, co jest już częściej stosowane niż w przypadku formularzy. Przykładowy odnośnik może wyglądać tak:
<a href="index.php?imie=Janek">Klik</a>

W efekcie uzyskamy to samo co w przypadku formularzy.
Wykorzystanie w PHP
Mając do dyspozycji PHP możemy odczytać dane przesłane metodą GET poprzez instrukcję np. przypisania danych do zmiennej:
$nazwa = $_GET['imie'];

Jeśli podana zmienna nie została przesłana, zmienna $nazwa będzie miała wartość równą 0.
Można pobrać te dane również bez podstawiania pod zmienną, przykład:
Witaj <?=$_GET['imie'] ?>

POST - metoda przesyłania danych w sieci internet. Istnieje w ramach protokołu HTTP i wykorzystywana jest najczęściej do wysłania informacji z formularza znajdującego się na stronie internetowej.

Metoda POST powinna być stosowana tam, gdzie dane odwołanie jest formą interakcji z użytkownikiem, która nie może być utrwalona w formie adresu. Powinna być także stosowana tam, gdzie dana operacja może wywołać wiążące dla użytkownika skutki - np. zapisanie na listę dyskusyjną[1].


Wyszukiwarka

Podobne podstrony:
sql - opis pol w bazie, ★skrypty php★, ➤ Skrypty PHP i HTML i INNE
informatyka php i html tworzenie dynamicznych stron www jacek ross ebook
PHP i HTML Tworzenie dynamicznych stron WWW
HTML & PHP Jak działają formularze , WAP Statystyki przez WAP, czyli jak połączyć PHP z językiem W
HTML & PHP Kontrolki formularzy 05 2005
Jak wysłać mailem w formacie HTML zawartość tabeli z bazy danych, PHP Skrypty
Jak wygenerować statyczny plik .html z bazy danych, PHP Skrypty
HTML & PHP Jak działają formularze , WAP Statystyki przez WAP, czyli jak połączyć PHP z językiem W
HTML
Ramki w HTML

więcej podobnych podstron