Manuál PHP | ||
---|---|---|
Předcházející | Kapitola 2. Stručný tutoriál | Další |
Něco užitečného
Nyní udělejme něco ještě užitečnějšího. Budeme zjišťovat, jaký druh
prohlížeče návštěvník používá. K tomuto účelu použijeme řetězec identifikace
uživatelského agenta (User-Agent), který prohlížeč posílá jako součást
HTTP požadavku. Tato informace je uložena v
proměnné. Proměnné v PHP vždy
začínají znakem dolaru. Proměnná, která nás právě teď zajímá, je
$_SERVER['HTTP_USER_AGENT']
.
Poznámka: $_SERVER je speciální vyhrazená proměnná PHP, která obsahuje všechny informace z webového serveru. Je známá též jako autoglobální (nebo superglobální) proměnná. Pro více informací viz související manuálovou stránku o superglobálních proměnných. Tyto speciální proměnné byly přidány v PHP 4.1.0. Předtím jsme namísto nich používali starší pole
$HTTP_*_VARS
, jako např.$HTTP_SERVER_VARS
. Přestože jsou již zavržené, tyto starší proměnné stále existují. (Viz také poznámku o starém kódu.)
Pro zobrazení této proměnné jednoduše napište:
V PHP existuje mnoho typů proměnných. Ve výše uvedeném příkladu jsme vytiskli element pole. Pole jsou velice užitečná.
$_SERVER
je jen jedna z proměnných, které vám PHP
automaticky zpřístupňuje. Seznam proměnných najdete v manuálové sekci
Vyhrazené proměnné, úplný seznam
pak ve výstupu funkce phpinfo() použité v příkladu
v předchozí sekci.
Mezi PHP značky můžete vložit více PHP příkazů a vytvářet tak malé bloky kódu, které dělají víc než jen jednoduché echo. Pokud chcete například zjistit, zda uživatel používá Internet Explorer, můžete udělat toto:
Příklad 2-4. Example using control structures and functions
A sample output of this script may be:
|
Here we introduce a couple of new concepts. We have an if statement. If you are familiar with the basic syntax used by the C language, this should look logical to you. Otherwise, you should probably pick up an introductory PHP book and read the first couple of chapters, or read the Language Reference part of the manual. You can find a list of PHP books at https://www.php.net/books.php.
The second concept we introduced was the strpos()
function call. strpos() is a function built into
PHP which searches a string for another string. In this case we are
looking for 'MSIE' (so-called needle) inside
$_SERVER['HTTP_USER_AGENT']
(so-called haystack). If
the needle is found inside the haystack, the function returns the position
of the needle relative to the start of the haystack. Otherwise, it
returns FALSE. If it does not return FALSE, the if expression evaluates to TRUE
and the code within its {braces} is executed. Otherwise, the code is not
run. Feel free to create similar examples,
with if,
else, and other
functions such as strtoupper() and
strlen(). Each related manual page contains examples
too. If you are unsure how to use functions, you will want to read both
the manual page on how to read a
function definition and the section about
PHP functions.
We can take this a step further and show how you can jump in and out of PHP mode even in the middle of a PHP block:
Instead of using a PHP echo statement to output something, we jumped out of PHP mode and just sent straight HTML. The important and powerful point to note here is that the logical flow of the script remains intact. Only one of the HTML blocks will end up getting sent to the viewer depending on the result of strpos(). In other words, it depends on whether the string MSIE was found or not.
Předcházející | Domů | Další |
Vaše první stránka v PHP | Nahoru |