Have a look at $_SERVER['REQUEST_URI']
, i.e.
$actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
(Note that the double quoted string syntax is perfectly correct.)
If you want to support both HTTP and HTTPS, you can use
$actual_link = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
⚠️ This code has security implications because the client and the server can set
HTTP_HOST
andREQUEST_URI
to arbitrary values. It is absolutely necessary to sanitize both values and do proper input validation (CWE-20). They must not be used in any security context.