Portrety Uliczne Nieznajomych - zobacz wyjątkową galerię portretów z warszawskich ulic
ZALOGUJ SIĘ
login:
hasło:
przypomnij hasło
załóż konto użytkownika
(i zobacz kilka porad gratis)
   
WYSZUKIWARKA I DZIAŁY
całe porady  tytuły
zaznacz działy do przeszukania
(brak wyboru = wszystkie działy)
PHP
MySQL >
PostgreSQL
SQLite
Perl
Java
XML
XSLT
XPath
WML
SVG
RegExp
Wyszukiwarki
Ochrona
VBScript
Google Plus
XHTML/CSS
JavaScript
Grafika
Flash
Photoshop
Windows
Linux
Bash
Apache
Procmail
E-biznes
Explorer
Opera
Firefox
Inne porady
   
KURSY, DOKUMENTACJE
Własne:
XHTML/CSS
JavaScript
ActionScript
WML, RSS, SSI
Pozostałe:
PHP
MySQL
Java API
więcej...
   
użytkowników online: 69
W CZYM MOGĘ POMÓC?


   
OPINIE UŻYTKOWNIKÓW
Przyznam, że jestem pod sporym wrażeniem. Od wielu lat zajmuje się grafiką przeznaczoną do druku ze szczególnym uwzględnieniem opakowań. Z radością stwierdzam, iż twórca serwisu jest moim ulubionym typem potencjalnego współpracownika (choć branża troszeczkę inna) tzn. pada pytanie i błyskawicznie pada konkretna odpowiedź bez względu na stopień skomplikowania pytania. Gorąco polecam współpracę, gdyż macie pewność że nie zostaniecie potraktowani sloganami typu "oczywiście", "nie ma sprawy" tylko otrzymacie konkretną pomoc. Tak trzymać! Na pewno jeszcze nie raz skorzystam

Paweł
Studio Gama

   
GALERIA FOTOGRAFII
   
PODRĘCZNIK PHP 5.x, 4.x, 3.x - częściowo spolszczony / źródło: www.php.net

[Spis] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [X] [W] [Z]

Coś użytecznego

Zabierzmy się teraz za coś, co może się nam do czegoś przydać. Chcemy sprawdzić w jakiej przeglądarce internetowej użytkownik ogląda naszą stronę. W tym celu odczytamy nagłówek User-Agent, który został przesłany w żądaniu HTTP przez przeglądarkę użytkownika. Informacja ta znajduje się w zmiennej. Nazwy zmiennych są w PHP poprzedzone znakiem dolara "$". Zmienna, która nas interesuje, to $_SERVER["HTTP_USER_AGENT"].

Zmienne superglobalne: $_SERVER jest specjalną zmienną PHP, która zawiera informacje związane z serwerem i środowiskiem uruchomieniowym danego skryptu. Zmienna ta jest nazywana superglobalną (bądź autoglobalną). Co to oznacza, dowiesz się na stronie poświęconej zmiennym predefiniowanym. Zmienne superglobalne wprowadzono w PHP w wersji 4.1.0. Przedtem wykorzystywane były tablice $HTTP_*_VARS, takie jak $HTTP_SERVER_VARS. Chociaż używanie ich nie jest zalecane, są one w dalszym ciągu dostępne w PHP (przeczytaj także notatkę dotyczącą używania starej składni).

Możemy w łatwy sposób wyświetlić wartość tej zmiennej:

Przykład 2-2. Wyświetlanie wartości zmiennej (elementu tablicy)

<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>

Przykładowym wynikiem działania tego skryptu może być:

Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

W PHP istnieje wiele typów zmiennych. W powyższym przykładzie wyświetliliśmy wartość elementu tablicy. Tablice mogą mieć wiele zastosowań.

$_SERVER jest tylko jedną ze zmiennych, które zawsze są dostępne dla skryptów PHP. Lista wszystkich takich zmiennych znajduje się w sekcji Predefiniowane zmienne, możesz także wygenerować ją przy pomocy prostego skryptu:

Przykład 2-3. Pokaż wszystkie zmienne predefiniowane

<?php phpinfo(); ?>

Po wywołaniu skryptu, ujrzysz w swojej przeglądarce stronę zawierającą wiele informacji o PHP łącznie z kompletną listą zmiennych predefiniowanych.

Pomiędzy znacznikami skryptu PHP możesz umieścić wiele różnych instrukcji, nie tylko echo(). Przykładowo, jeśli chcesz sprawdzić czy przeglądarka użytkownika to Internet Explorer, możesz napisać taki skrypt:

Przykład 2-4. Przykład wykorzystania struktur kontrolnych i funkcji

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) {
   echo
'Używasz Internet Explorera<br />';
}
?>

Jak nietrudno się domyślić, skrypt może wyświetlić:

Używasz Internet Explorera<br />

W powyższym przykładzie wprowadziliśmy kilka nowych rozwiązań. Przede wszystkim mamy tutaj instrukcję if. Dla osób znających podstawową składnię języka C powinna ona wyglądać znajomo. Jeśli nie rozumiesz do czego ta instrukcja służy, nie obejdzie się bez lektury rozdziału Opis języka. W początkowej fazie nauki języka pomocne mogą być także książki opisujące PHP od podstaw. Spis publikacji poświęconych PHP znajduje się pod adresem /books.php.

Następnym nowym rozwiązaniem jest wywołanie funkcji strpos(). strpos() jest funkcją wbudowaną w PHP, służy do wyszukiwania jednego łańcucha znaków w drugim. W naszym przykładzie próbowaliśmy odnaleźć "MSIE" w zmiennej $_SERVER["HTTP_USER_AGENT"]. Jeżeli ciąg ten został odnaleziony, funkcja zwróciła jego pozycję w łańcuchu $_SERVER["HTTP_USER_AGENT"]. Jeśli funkcja nie zwróciła wartości FALSE, wykonywany był kod umieszczony wewnątrz nawiasów klamrowych instrukcji if. W przeciwnym wypadku, gdy strpos() zwróciła wartość FALSE, kod był pomijany. Spróbuj napisać kilka podobnych przykładów z wykorzystaniem instrukcji if, else oraz funkcji takich jak strtoupper() lub strlen(). Każda ze stron opisujących te metody zawiera także przykłady, które pomogą ci zrozumieć ich działanie. Jeżeli nie jesteś pewny jak używać funkcji, zajrzyj na stronę wyjaśniającą jak czytać opisy funkcji i do rozdziału Funkcje.

Przejdźmy teraz krok dalej i zobaczmy w jaki sposób możemy przeplatać kod HTML instrukcjami języka PHP:

Przykład 2-5. Mieszanie HTML z PHP

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) {
?>
<h3>Funkcja strpos zwróciła wartość inną niż &false;</h3>
<center><b>Używasz Internet Explorera</b></center>
<?php
} else {
?>
<h3>Funkcja strpos zwróciła wartość false</h3>
<center><b>Nie używasz Internet Explorera</b></center>
<?php
}
?>

Wynikiem działania tego skryptu może być:

<h3>Funkcja strpos zwróciła wartość true</h3>
<center><b>Używasz Internet Explorera</b></center>

Tym razem zamiast instrukcji echo() skorzystaliśmy z innej możliwości - wymieszaliśmy ze sobą kod HTML i PHP. W tym miejscu warto zaznaczyć, że skrypt mimo dużych zmian w zastosowanej składni, nadal działa tak samo. W zależności od tego, co zwróci funkcja strpos(), wyświetlony zostanie tylko jeden blok kodu HTML. Innymi słowy, wszystko zależy od tego, czy ciąg MSIE zostanie odnaleziony w łańcuchu $_SERVER["HTTP_USER_AGENT"].




User Contributed Notes

ceniun_ at Hotmail dot com
04-Nov-2005 09:49

Using php in the above fasion allows for more complex coding . I have used this methiod many times in my experiance. It alows for more complex if else statments leting you run mutiable objects inside just one page.

It can be used in session to load diffrent objects example:

<?php

if($session->logged_in){
echo
"Welcome, $session->username" ?>
<table>
  <tr>
   <td><a href="foo.php">$foo</a></td>
   <td><a href="bar.php">$bar</a></td>
  </tr>
</table>
<?php }else{ ?>
<form name="form1" method="post" action="">
<table width="196">
  <tr>
   <td width="87">foo</td>
   <td width="97"><input name="textfield" type="text" size="20"></td>
  </tr>
  <tr>
   <td>bar</td>
   <td><input name="textfield2" type="text" size="20"></td>
  </tr>
  <tr>
   <td colspan="2"><div align="right">
     <input type="submit" name="Submit" value="Submit">
   </div></td>
   </tr>
</table>
</form>
<?php } ?>

The above example will check if the user is loged in if so will show a welcome message and a mock menu. Else, it will show a mock login form. I am sure it can be used in many other ways othere than with sessions.


mjbraca at hotNOSPAMmail dot com
10-Aug-2002 12:31

It wasn't immediately obvious to me what would happen if I jumped from PHP to HTML and back within a function definition. But of course it does the "right thing":

<?
function foo () {
  echo
"Enter foo...";
?>Some HTML inside foo...<?
 
echo "Leave foo.";
}
?>
  <HTML><BODY>
  <? foo(); ?>
  </BODY></HTML>

produces:

Enter foo...Some HTML inside foo...Leave foo.


 

 
  © 1996-2012 & Reporter.plmiejscao serwisieabonamentwarunki korzystaniaRSSkontakt