$input->url() method

Get the URL that initiated the current request, including URL segments and page numbers

  • This should be the same as $page->url except that it includes URL segments and page numbers, when present.

  • Note that this does not include query string unless requested (see arguments).

  • WARNING: if query string requested, it can contain undefined/unsanitized user input. If you use it for output make sure that you entity encode first (by running through $sanitizer->entities() for instance).

Example

$url = $input->url(); 
$url = $sanitizer->entities($url); // entity encode for output
echo "You accessed this page at: $url";

Usage

// basic usage
$string = $input->url();

// usage with all arguments
$string = $input->url($options = []);

Arguments

NameType(s)Description
options (optional)array, bool

Specify withQueryString (bool) option, or in 3.0.167+ you can also use an options array:

  • withQueryString (bool): Include the query string as well? (if present, default=false)
  • page (Page): Page object to use, if different from $page (default=$page)
  • pageNum (int): Override current pagination number with this one, 1 to exclude pageNum, 0 for no override (default=0). 3.0.169+

Return value

string

See Also


$input methods and properties

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #549
    In the 549th issue of ProcessWire Weekly we’re going to check out the latest core updates, highlight one older yet still very relevant third party module, and more. Read on!
    Weekly.pw / 17 November 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer