PHP/Form/ SERVER
Содержание
- 1 Adjusting behavior based on an environment variable
- 2 Deciding what to do based on request method
- 3 Getting Times and Dates of Files: $_SERVER["SCRIPT_FILENAME"]
- 4 Log use IP address
- 5 Output file time
- 6 PHP $_SERVER Arguments
- 7 $_SERVER extracts valuable server- and script-related information
- 8 Some Common $_SERVER Elements
- 9 superglobal variables
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
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 />";
}
?>