Vom verifica ce fel de browser folosește vizitatorul. Pentru aceasta, verificăm șirul de agent de utilizator pe care browser-ul îl trimite ca parte a solicitării HTTP. Aceste informații sunt stocate într-o variabilă. Variabilele încep întotdeauna cu un semn de dolar în PHP. Variabila care ne interesează acum este $_SERVER[‘HTTP_USER_AGENT’].
Notă: $_SERVER este o variabilă specială rezervată PHP care conține toate informațiile serverului web. Este cunoscută ca un superglobal.
Pentru a afișa această variabilă, puteți face pur și simplu:
Exemplul #1 Imprimarea unei variabile (element Array)
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
Un exemplu de ieșire a acestui script poate fi:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Există multe tipuri de variabile disponibile în PHP. În exemplul de mai sus am tipărit un element Array. Elementele Array pot fi foarte utile.
$_SERVER este doar o variabilă pe care PHP o pune automat la dispoziție. O listă poate fi văzută în secțiunea Variabile rezervate a manualului PHP, sau puteți obține o listă completă a acestora uitându-vă la rezultatul funcției phpinfo().
Puteți pune mai multe instrucțiuni PHP într-o etichetă PHP și puteți crea mici blocuri de cod care fac mai mult decât un singur echo. De exemplu, dacă doriți să verificați Internet Explorer, puteți face acest lucru:
Exemplul #2 Exemplu de utilizare a structurilor și funcțiilor de control
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
echo 'You are using Internet Explorer.<br />';
}
?>
Un exemplu de ieșire a acestui script poate fi:
You are using Internet Explorer.<br />
Aici vă prezentăm câteva concepte noi. Avem o declarație if. Dacă sunteți familiarizat cu sintaxa de bază folosită de limbajul C, ar trebui să vă pară logic. În caz contrar, probabil că ar trebui să luați o carte introductivă PHP și să citiți primele două capitole sau să citiți partea de referință a limbajului din manualul PHP.
Al doilea concept pe care l-am introdus a fost apelul funcției strpos(). strpos() este o funcție încorporată în PHP care caută un șir pentru un alt șir. În acest caz, căutăm „MSIE” (așa-numitul ac) în interiorul $_SERVER[‘HTTP_USER_AGENT’] (așa-numitul car cu fân). Dacă acul este găsit în interiorul carului cu fân, funcția returnează poziția acului față de începutul carului de fân. În caz contrar, returnează false. Dacă nu returnează false, expresia if este evaluată la true și se execută codul din {acolade}. În caz contrar, codul nu este rulat. Simțiți-vă liber să creați exemple similare, cu if, else și alte funcții precum strtoupper() și strlen(). Fiecare pagină de manual asociată conține și exemple.
Putem face acest lucru un pas mai departe și arătăm cum puteți sări în și din modul PHP chiar și în mijlocul unui bloc PHP:
Exemplul #3 Amestecarea ambelor moduri HTML și PHP
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos() must have returned non-false</h3>
<p>You are using Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() must have returned false</h3>
<p>You are not using Internet Explorer</p>
<?php
}
?>
Un exemplu de ieșire a acestui script poate fi:
<h3>strpos() must have returned non-false</h3> <p>You are using Internet Explorer</p>
În loc să folosim o instrucțiune PHP echo pentru a obține ceva, am sărit din modul PHP și am trimis doar HTML direct. Punctul important și puternic de remarcat aici este că fluxul logic al scriptului rămâne intact. Doar unul dintre blocurile HTML va ajunge să fie trimis către vizualizator, în funcție de rezultatul strpos(). Cu alte cuvinte, depinde dacă șirul MSIE a fost găsit sau nu.
Sursa: PHP Manual, licența CC BY 3.0. Traducere și adaptare: Nicolae Sfetcu
Descoperă mai multe la MultiMedia
Abonează-te ca să primești ultimele articole prin email.



Lasă un răspuns