w3resource

PHP Exercises : Check whether the page is called from 'https' or 'http'

PHP : Exercise-10 with Solution

Write a PHP script, to check whether the page is called from 'https' or 'http'.

http:

The Hypertext Transfer Protocol (HTTP) is an application protocol which allows the fetching of resources, such as HTML documents. HTTP is the foundation of any data exchange on the Web and a client-server protocol.

In 1989 Tim Berners-Lee initiated to develop HTTP at CERN. Standards development of HTTP was coordinated by the Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C), culminating in the publication of a series of Requests for Comments (RFCs).

The first definition of HTTP/1.1, the version of HTTP in common use, occurred in RFC 2068 in 1997, although this was made obsolete by RFC 2616 in 1999 and then again by the RFC 7230 family of RFCs in 2014.

A later version, the successor HTTP/2, was standardized in 2015, and is now supported by major web servers and browsers over TLS using ALPN extension[2] where TLS 1.2 or newer is required.

https:

HTTP Secure (HTTPS) is an extension of the HTTP for secure communication over a computer network, and is widely used on the Internet. In HTTPS, the communication protocol is encrypted using Transport Layer Security (TLS), or formerly, its predecessor, Secure Sockets Layer (SSL). The protocol is therefore also often referred to as HTTP over TLS, or HTTP over SSL.

Sample Solution: -

PHP Code:

<?php
// Check if the HTTPS (secure) protocol is enabled in the server environment
if (!empty($_SERVER['HTTPS'])) {
  // Display a message if HTTPS is enabled
  echo 'https is enabled';
} else {
  // Display a message if HTTPS is not enabled, followed by a newline character
  echo 'http is enabled' . "\n";
}
?>

Sample Output:

http is enabled

Explanation:

Here's a brief explanation of the above exercise:

  • if (!empty($_SERVER['HTTPS'])) {
    • Checks if the HTTPS (secure) protocol is enabled in the server environment by examining the $_SERVER['HTTPS'] variable.
  • echo 'https is enabled';
    • If HTTPS is enabled, display the message "https is enabled."
  • } else {
    • If HTTPS is not enabled (the condition in the if statement is not true), the code executes the block inside the else statement.
  • echo 'http is enabled' . "\n";
    • Displays the message "http is enabled," followed by a newline character ("\n").

Flowchart:

Flowchart: Check whether the page is called from 'https' or 'http'

PHP Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a PHP script, which changes the color of the first character of a word.
Next: Write a PHP script to redirect a user to a different page.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.