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'.


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.


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:

if (!empty($_SERVER['HTTPS'])) 
  echo 'https is enabled';
echo 'http is enabled'."\n";

Sample Output:

http is enabled


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.

PHP: Tips of the Day

Why shouldn't I use mysql_* functions in PHP?

The MySQL extension:

  • Is not under active development
  • Is officially deprecated as of PHP 5.5 (released June 2013).
  • Has been removed entirely as of PHP 7.0 (released December 2015)
  • This means that as of 31 Dec 2018 it does not exist in any supported version of PHP. If you are using a version of PHP which supports it, you are using a version which doesn't get security problems fixed.
  • Lacks an OO interface
  • Doesn't support:
    • Non-blocking, asynchronous queries
    • Prepared statements or parameterized queries
    • Stored procedures
    • Multiple Statements
    • Transactions
    • The "new" password authentication method (on by default in MySQL 5.6; required in 5.7)
    • Any of the new functionality in MySQL 5.1 or later

Since it is deprecated, using it makes your code less future proof.

Lack of support for prepared statements is particularly important as they provide a clearer, less error-prone method of escaping and quoting external data than manually escaping it with a separate function call.

Ref : https://bit.ly/2BIIsF0