PHP/Form/ SERVER

Материал из Web эксперт
Перейти к: навигация, поиск

Adjusting behavior based on an environment variable

   <source lang="html4strict">

<?php $version = $_SERVER["SITE_VERSION"]; if ("members" == $version) {

   if (!authenticate_user($_POST["username"], $_POST["password"])) {
       header("Location: http://guest.example.ru/");
       exit;
   }

} include_once "${version}_header"; // load custom header

 </source>
   
  


Deciding what to do based on request method

   <source lang="html4strict">

<?php if ($_SERVER["REQUEST_METHOD"] == "GET") { ?> <form action="<?php echo $_SERVER["SCRIPT_NAME"] ?>" method="post"> What is your first name? <input type="text" name="first_name" /> <input type="submit" value="Say Hello" /> </form> <?php } else {

   echo "Hello, " . $_POST["first_name"] . "!";

} ?>

 </source>
   
  


Getting Times and Dates of Files: $_SERVER["SCRIPT_FILENAME"]

   <source lang="html4strict">

<?php $lastmod = filemtime($_SERVER["SCRIPT_FILENAME"]); echo "file was updated on " . date("l d F Y, \a\t H:i:s T", $lastmod); ?>

 </source>
   
  


Log use IP address

   <source lang="html4strict">

<?php $address = $_SERVER["REMOTE_ADDR"]; $referer = $_SERVER["HTTP_REFERER"]; $browser = $_SERVER["HTTP_USER_AGENT"]; $file = fopen("log.html", "a"); $time = date("H:i dS F"); fwrite( $file, "Time: $time
" ); if( $address != null) {

 fwrite( $file, "IP Address: $address 
");

} if( $referer != null) {

 fwrite( $file, "Referer: $referer
");

}

fwrite( $file, "Browser: $browser

");

fclose($file); ?>

 </source>
   
  


Output file time

   <source lang="html4strict">

<?php

 $lastmod = filemtime($_SERVER["SCRIPT_FILENAME"]);
 echo "This file was last updated on "
       . date("l d F Y, \a\t H:i:s T", $lastmod)
       . ".";

?>

 </source>
   
  


PHP $_SERVER Arguments

   <source lang="html4strict">

Argument Result PHP_SELF Returns the filename of the current script with the path relative to the root SERVER_PROTOCOL Returns the name and revision of the page-requested protocol REQUEST_METHOD Returns the request method used to access the page REQUEST_TIME Returns the timestamp from the beginning of the request DOCUMENT_ROOT Returns the root directory under which the current script is executing HTTP_REFERER Returns the page address that referred to the current page HTTP_USER_AGENT Returns the user agent of the header from the current request (handy for browser identification) REMOTE_ADDR Returns the IP address of the current user (handy for security) REMOTE_PORT Returns the port of the user"s machine that is accessing the page SCRIPT_FILENAME Returns the absolute filename from the current script SCRIPT_NAME Returns the path of the current script

 </source>
   
  


$_SERVER extracts valuable server- and script-related information

   <source lang="html4strict">

PHP $_SERVER Arguments Argument Result PHP_SELF Returns the path and filename of the current script SERVER_PROTOCOL Returns the name and revision of the page-requested protocol REQUEST_METHOD Returns the request method used to access the page REQUEST_TIME Returns the timestamp from the beginning of the request DOCUMENT_ROOT Returns the root directory of the current script HTTP_REFERER Returns the page address that referred to the current page HTTP_USER_AGENT Returns the user agent of the header from the current request REMOTE_ADDR Returns the IP address of the current user REMOTE_PORT Returns the port of the user"s machine that is accessing the page SCRIPT_FILENAME Returns the absolute filename from the current script SCRIPT_NAME Returns the path of the current script

 </source>
   
  


Some Common $_SERVER Elements

   <source lang="html4strict">

Variable Contains Example

$_SERVER["PHP_SELF"] The current script. /l.php

$_SERVER["HTTP_USER_AGENT"] The name and version of the client. Mozilla/4.6 ?(X11; I;Linux2.2. 6-15apmac ppc)

$_SERVER["REMOTE_ADDR"] The IP address of the client. 192.152.55.35

$_SERVER["REQUEST_METHOD"] Whether the request was GET or POST. POST

$_SERVER["QUERY_STRING"] For GET requests, the encoded data sent appended to the URL. name=matt&address=unknown

$_SERVER["REQUEST_URI"] The full address of the request, including query string. /phpbook/source/listing10.1.php? name=matt

$_SERVER["HTTP_REFERER"] The address of the page from which the request was made. http://p24.corrosive.co.uk/ref.html

 </source>
   
  


superglobal variables

   <source lang="html4strict">

<?php foreach ($_SERVER as $var => $value) {

  echo "$var => $value 
";

} ?>

 </source>