function drupal_get_destination

Same name and namespace in other branches
  1. 8.9.x core/includes/ \drupal_get_destination()

Prepares a 'destination' URL query parameter for use with drupal_goto().

Used to direct the user back to the referring page after completing a form. By default the current URL is returned. If a destination exists in the previous request, that destination is returned. As such, a destination can persist across multiple pages.

Return value

An associative array containing the key:

  • destination: The path provided via the destination query string or, if not available, the current path.

See also



Related topics

29 calls to drupal_get_destination()
comment_admin_overview in modules/comment/
Form builder for the comment overview administration form.
common_test_destination in modules/simpletest/tests/common_test.module
Print destination query parameter.
contextual_pre_render_links in modules/contextual/contextual.module
Build a renderable array for contextual links.
field_ui_field_overview_form_submit in modules/field_ui/
Form submission handler for field_ui_field_overview_form().
forum_menu_local_tasks_alter in modules/forum/forum.module
Implements hook_menu_local_tasks_alter().

... See full list


includes/, line 525


function drupal_get_destination() {
    $destination =& drupal_static(__FUNCTION__);
    if (isset($destination)) {
        return $destination;
    if (isset($_GET['destination'])) {
        $destination = array(
            'destination' => $_GET['destination'],
    else {
        $path = $_GET['q'];
        $query = drupal_http_build_query(drupal_get_query_parameters());
        if ($query != '') {
            $path .= '?' . $query;
        $destination = array(
            'destination' => $path,
    return $destination;

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.