PHP/Form/ SERVER

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

Adjusting behavior based on an environment variable

 
<?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



Deciding what to do based on request method

 
<?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"] . "!";
}
?>



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

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



Log use IP address

 
<?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, "<b>Time:</b> $time<br>" );
if( $address != null)
{
  fwrite( $file, "<b>IP Address:</b> $address <br>");
}  
if( $referer != null)
{
  fwrite( $file, "<b>Referer:</b> $referer<br>");  
}
fwrite( $file, "<b>Browser:</b> $browser<br/><hr>");  
fclose($file);
?>



Output file time

 
<?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)
        . ".";
?>



PHP $_SERVER Arguments

 
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



$_SERVER extracts valuable server- and script-related information

 
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



Some Common $_SERVER Elements

 
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



superglobal variables

 
<?php
foreach ($_SERVER as $var => $value) {
   echo "$var => $value <br />";
}
?>