s e r v e r f i r s t o f f w h at i s a s u p e r g l o
play

$ _ S E R V E R F I R S T O F F, W H AT I S A S U P E R G L O B - PowerPoint PPT Presentation

S U P E R _ G L O B A L S : $ _ S E R V E R F I R S T O F F, W H AT I S A S U P E R G L O B A L ? ? ? A super global is always available to the PHP code for a page. They are built-in variables. Examples: $_GET & $_POST


  1. S U P E R _ G L O B A L S : $ _ S E R V E R

  2. F I R S T O F F, W H AT I S A S U P E R G L O B A L ? ? ? • A super global is always available to the PHP code for a page. • They are built-in variables. • Examples: $_GET & $_POST (look familiar??) Image from http://www.php5dp.com/design-patterns-scope-globals-and-superglobals-in-php/

  3. W H AT I S $ _ S E R V E R ? • $_SERVER is a Superglobal array that holds headers, paths, and script locations. • In other words it holds the information that you could find in a header, the url, and secure web server type things (https). • The information is provided by the Web Server so sometimes you won’t get what you are looking for. • There are many elements you can find in $_SERVER, for example the IP address, or what revision of CGI the server is using.

  4. E X A M P L E # 1 Code: Result: <!DOCTYPE html> /php/demo_global_server.php <html> www.w3schools.com <body> www.w3schools.com http://www.w3schools.com/php/ <?php showphp.asp? echo $_SERVER['PHP_SELF']; filename=demo_global_server echo "<br>"; Mozilla/5.0 (Macintosh; Intel Mac OS X echo $_SERVER['SERVER_NAME']; 10_10_3) AppleWebKit/537.36 (KHTML, echo "<br>"; like Gecko) Chrome/42.0.2311.90 Safari/ echo $_SERVER['HTTP_HOST']; 537.36 echo "<br>"; /php/demo_global_server.php echo $_SERVER['HTTP_REFERER']; echo "<br>"; echo $_SERVER['HTTP_USER_AGENT']; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; ?> </body> </html> From http://www.w3schools.com/php/showphp.asp?filename=demo_global_server

  5. W H E N D O W E U S E I T ? W H Y ? • We can use it to gather and display needed data about the website and server. • We can use it to check for, and then create a secure connection. • We can use it to create better security and fix bugs.

  6. S Y N TA X … To assign it to a Variable: $variable = $_SERVER [‘ELEMENT’] To use it with filter input: $variable = filter_input(INPUT_SERVER, ‘ELEMENT’);

  7. S O M E E L E M E N T S O F $ _ S E R V E R … Y O U C A N F I N D A L L O F T H E M O N T H E P H P. N E T • ‘HTTP_ACCEPT’: Contents of the W E B S I T E . • ‘REQUEST_TIME’: The timestamp of Accept: header from the current the start of the request. Available request, if there is one. since PHP 5.1.0. • ‘HTTP_ACCEPT_CHARSET’: Contents • ‘REQUEST_TIME_FLOAT’: The of the Accept-Charset: header from timestamp of the start of the request, the current request, if there is one. with microsecond precision. Available Example: 'iso-8859-1,*,utf-8'. since PHP 5.4.0. • ‘HTTP_ACCEPT_ENCODING’: • ‘QUERY_STRING’: The query string, if Contents of the Accept-Encoding: any, via which the page was accessed. header from the current request, if there is one. Example: 'gzip'. • ‘DOCUMENT_ROOT’: The document root directory under which the current • ‘HTTP_ACCEPT_LANGUAGE’: script is executing, as defined in the Contents of the Accept-Language: server's configuration file. header from the current request, if there is one. Example: 'en'.

  8. E X A M P L E # 2 - R E D I R E C T I N G T O S E C U R E C O N N E C T I O N Code: <?php 1 2 $https = filter_input (INPUT_SERVER, ‘HTTPS’); 3 4 if (!$https) { 5 $host = filter_input (INPUT_SERVER, ‘HTTP_HOST’); 6 $uri = filter_input (INPUT_SERVER, ‘REQUEST_URI’); 7 $url = ‘https://' . $host . $uri; 8 header (“Location: “ . $url); 9 exit(); 10 } 11 12 ?> 13 14 15 From Murach’s PHP and MySQL 2nd Edition pg. 691

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend